首页 文章

Oracle文档不是NVL

提问于
浏览
2

我正在做一些从Oracle到MSSQL的转换,我正在阅读Oracle的指南B Supported SQL Syntax and Functions .

我注意到它有一个NOT NVL函数(它的MSSQL等价物是IS NOT NULL) .

我正在为我的同事编译一个列表,所以我们可以获得语法和支持函数的一站式资源,我是否正确假设NOT NVL的工作原理如下:

有3列,名称,位置,loves_marmite Andrew |英国|是

不是NVL(loves_marmite,'Nope')

所以显示的数据是:

Andrew | UK | Nope

我只是一个逻辑问题,更重要的是Oracle有 IS NULLIS NOT NULL .

对不起,我只是在将这份文件传递给我的同事之前,正在寻找一些澄清 .

EDIT : 如果可能,有人会在两个平台之间有完整的功能和语法差异列表吗?

2 回答

  • 3

    检查NVL2(param1, param2, param3)功能 .

    如果param1是 NOT (NULL or EMPTY STRING) ,则返回param2,否则返回param3 .

    你可以写:

    NVL2(loves_marmite, 'Nope', something_else)
    

    另请参阅this answer以获取Oracle中与空相关的函数列表

  • 0

    首先,请参阅isNull功能 . 但甲骨文可能会试图告诉你用一个案例取代NVL功能;

    SELECT CASE WHEN Foo IS NOT NULL THEN bar
                                     ELSE BLA
                 END
    

相关问题