2013-01-22 98 views
4

瞭解PL/SQL中的SQL數據類型。我有一個關於什麼數據類型有以下公式問題:Oracle PL/SQL數據類型

temp := temp1 < (temp2/ 3); 

我對什麼數據類型,這可能有點混淆。數據類型可以是數字,字符,布爾,日期時間和間隔類型,但是由於表達式<和/的原因,這個數據類型會丟掉我。這讓我覺得它是布爾值,但我不確定。

回答

7

It is a boolean。它相當於:

boolean temp; 
... 

if (temp1 < (temp2/3) then 
    temp := true; 
else 
    temp := false; 
end if; 
0

Oracle在這種情況下有點複雜。 SQL和PL/SQL由兩個不同的引擎解釋。即使它們看起來相似,它們每個都有自己的一組數據類型。 SQL中的VARCHAR2與PL/SQL中的VARCHAR2不同。當你開始工作集合時,它會變得更加混亂。另外SQL在PL/SQL中沒有像BOOLEAN那樣的任何數據類型。 唯一的例外是接受條件作爲參數的SQL函數LNNVL,但無論如何,不​​能使用像「true」或「false」這樣的文字是SQL查詢。