不试不知道,Oracle中,长度为0的字符串'' 居然与null等价!
众所周知,null代表空,什么都不存在,而一个字符串'',虽然长度为0,但毕竟已经是一个字符串,二者怎么能等价,混为一谈呢。
在SQL SERVER 中,
SELECT ISNULL(ISNULL(null,''),'is null') AS str
结果是 ''
但在Oracle中,
SELECT NVL(NVL(null,''),'is null') FROM table1
不试不知道,Oracle中,长度为0的字符串'' 居然与null等价!
众所周知,null代表空,什么都不存在,而一个字符串'',虽然长度为0,但毕竟已经是一个字符串,二者怎么能等价,混为一谈呢。
在SQL SERVER 中,
SELECT ISNULL(ISNULL(null,''),'is null') AS str
结果是 ''
但在Oracle中,
SELECT NVL(NVL(null,''),'is null') FROM table1