Oracle PL / SQL数据类型

时间:2013-01-22 08:08:24

标签: sql oracle plsql sqldatatypes

了解PL / SQL中的SQL数据类型。我对以下表达式的数据类型有疑问:

temp := temp1 < (temp2/ 3);

我对这可能是什么数据类型感到有点困惑。数据类型可以是数字,字符,布尔值,日期时间和间隔类型,但是由于表达式&lt;和/。这让我觉得它是布尔,但我不确定。

2 个答案:

答案 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查询。