Oracle nvl、nvl2 和 nullif 函数

Oracle nvl, nvl2 and nullif functions

我们可以在oracle中用nullif应用nvl或nvl2函数吗 请给我一些例子

我的这个查询运行良好

SELECT fName, LENGTH(fName) "First Name",
       lName, LENGTH(lName) "Last Name",
       NULLIF(LENGTH(fName), LENGTH(lName)) Output
FROM employee;

但我想在它 return 空值时应用 nvl whaen fName 和 lName 具有相同的字符

不确定我是否遵循,有什么问题:

SELECT NVL(fName,'-1'), LENGTH(fName) "First Name",
       NVL(lName,'-1), LENGTH(lName) "Last Name",
       NVL(LENGTH(fName), LENGTH(lName)) Output
FROM employee;

您的查询有什么问题?虽然我不明白你为什么在 LENGTH(fname) 上使用 NULLIF ,但它速度较慢并且与 NULLIF(fname)

具有相同的效果