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