这个选择在Oracle 11上工作正常
select
*
FROM
ALL_CONSTRAINTS C
WHERE C.CONSTRAINT_TYPE='P'
AND COALESCE(C.INDEX_NAME, ' ')<>' ' /* space */
但这不会返回任何行
select
*
FROM
ALL_CONSTRAINTS C
WHERE C.CONSTRAINT_TYPE='P'
AND COALESCE(C.INDEX_NAME, '')<>'' /* empty string */
因为你可以看到差异只在
之间COALESCE(C.INDEX_NAME,&#39;&#39;)&lt;&gt;&#39;&#39;和COALESCE(C.INDEX_NAME,&#39;&#39;)&lt;&gt;&#39; &#39;
我不明白为什么会这样 - 一个错误? 或者我错过了什么