2013-01-22 68 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查询。