在ORACLE SQL的where子句中使用空字符串修剪

nJo*_*shi 5 sql oracle

我试图弄清楚为什么下面的SQL语句不会在oracle中返回值do

Select 'do' from dual
where trim('  ') = ''
Run Code Online (Sandbox Code Playgroud)

在哪里

Select 'do' from dual
where trim(' a ')='a'
Run Code Online (Sandbox Code Playgroud)

返回值do.

jue*_*n d 7

因为trim(' ')回报null而不是''

SQLFiddle示例

在Oracle 8中,没有零长度字符串这样的东西.任何来自函数调用或文字''的零长度字符串都被视为null.

资源