【问题标题】:Oracle PL/SQL DatatypeOracle PL/SQL 数据类型
【发布时间】:2013-01-05 10:03:05
【问题描述】:

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

temp := temp1 < (temp2/ 3);

我对这可能是什么数据类型有点困惑。数据类型可以是 Numeric、Characters、Boolean、Datetime 和 Interval 类型,但由于表达式

【问题讨论】:

    标签: sql oracle plsql sqldatatypes


    【解决方案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 查询。

      【讨论】:

        猜你喜欢
        • 2020-05-29
        • 2011-02-07
        • 2023-03-21
        • 2021-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多