我正在做一些从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 NULL 和 IS NOT NULL .
对不起,我只是在将这份文件传递给我的同事之前,正在寻找一些澄清 .
EDIT : 如果可能,有人会在两个平台之间有完整的功能和语法差异列表吗?
2 回答
检查NVL2(param1, param2, param3)功能 .
如果param1是
NOT (NULL or EMPTY STRING)
,则返回param2,否则返回param3 .你可以写:
另请参阅this answer以获取Oracle中与空相关的函数列表
首先,请参阅isNull功能 . 但甲骨文可能会试图告诉你用一个案例取代NVL功能;