【问题标题】:Oracle PLSQL round and nvlOracle PLSQL 回合和 nvl
【发布时间】:2022-12-07 22:04:07
【问题描述】:

回合前或回合后正确的 nvl 是多少?

Select nvl(round(10.5555,2),0) as value from dual

Select round(nvl(10.5555,0),2) as value from dual

【问题讨论】:

  • 两者都有效。但在这种情况下都没有意义,10.5555 永远不会等于 NULL

标签: oracle plsql


【解决方案1】:

没关系。

在这种情况下,甚至不使用 NVL,因为 10.5555 永远不会为 NULL。如果你使用了范围反而:

SQL> select nvl(round(&value, 2), 0) as value from dual;
Enter value for value: 10.5555

     VALUE
----------
     10,56

SQL> select round(nvl(&value, 0), 2) as value from dual;
Enter value for value: 10.5555

     VALUE
----------
     10,56

SQL>

如您所见,没有区别。

【讨论】:

    猜你喜欢
    • 2018-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多