Oracle PL/SQL数据类型

4

学习关于PL/SQL中的SQL数据类型。我有一个问题,以下表达式是什么数据类型:

temp := temp1 < (temp2/ 3);

我对这个数据类型感到有些困惑。数据类型可以是数字、字符、布尔、日期时间和间隔类型,但是由于表达式 < 和 /,这使我认为它是布尔类型,但我不确定。

2个回答

7

一个布尔类型。它的等价形式为:

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,它接受条件作为参数,但无论如何,您都不能在 SQL 查询中使用诸如“true”或“false”之类的文字。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接