了解PL / SQL中的SQL数据类型。我对以下表达式的数据类型有疑问:
temp := temp1 < (temp2/ 3);
我对这可能是什么数据类型感到有点困惑。数据类型可以是数字,字符,布尔值,日期时间和间隔类型,但是由于表达式&lt;和/。这让我觉得它是布尔,但我不确定。
答案 0 :(得分:7)
是布尔值。它相当于:
boolean temp;
...
if (temp1 < (temp2/3) then
temp := true;
else
temp := false;
end if;
答案 1 :(得分:0)
在这种情况下,Oracle有点复杂。 SQL和PL / SQL由两个不同的引擎解释。即使它们看起来相似,它们每个都有自己的一组数据类型。 SQL中的简单VARCHAR2与PL / SQL中的VARCHAR2不同。当你开始工作集合时,它会变得更加混乱。此外,SQL没有像PL / SQL那样的任何数据类型,如BOOLEAN。 唯一的例外是SQL函数LNNVL,它接受一个条件作为参数,但无论如何你不能使用像“true”或“false”这样的文字是SQL查询。