Oracle PL/SQL 数据类型
Posted
技术标签:
【中文标题】Oracle PL/SQL 数据类型【英文标题】:Oracle PL/SQL Datatype 【发布时间】:2013-01-05 10:03:05 【问题描述】:了解 PL/SQL 中的 SQL 数据类型。我对以下表达式的数据类型有疑问:
temp := temp1 < (temp2/ 3);
我对这可能是什么数据类型有点困惑。数据类型可以是 Numeric、Characters、Boolean、Datetime 和 Interval 类型,但由于表达式
【问题讨论】:
【参考方案1】:它是一个布尔值。相当于:
boolean temp;
...
if (temp1 < (temp2/3) then
temp := true;
else
temp := false;
end if;
【讨论】:
【参考方案2】:在这种情况下,Oracle 有点复杂。 SQL 和 PL/SQL 由两个不同的引擎解释。他们每个人都有自己的一组数据类型,即使它们看起来很相似。简单地说,SQL 中的 VARCHAR2 与 PL/SQL 中的 VARCHAR2 不同。当您开始使用集合时,它会变得更加混乱。 SQL 没有像 BOOLEAN 这样的任何数据类型,而 PL/SQL 有。 唯一的例外是 SQL 函数 LNNVL,它接受一个条件作为参数,但无论如何你不能使用像“true”或“false”这样的文字是 SQL 查询。
【讨论】:
以上是关于Oracle PL/SQL 数据类型的主要内容,如果未能解决你的问题,请参考以下文章