1
我有一个数据库列设置为char(255)(是,CHAR。不要问我为什么这是如何设置数据库)目前有一个空的字符串和两个空格(即“”)。使用NULLIF(LTRIM(RTRIM(column_name)), '')
不起作用(输出为 [两个空白空间])。但是,使用
NULLIF(' ', '')
可正常工作,输出为NULL
。换句话说,实际的列值工作正常,而传递列的名称会返回不正确的值。NULLIF空字符串检查返回空字符串与列名称,但与列值NULL NULL
对此的任何想法?
适用于我的作品:http://www.sqlfiddle.com/#!3/34e49/1 – mellamokb 2013-04-22 17:55:01
原因是因为您没有将可打印的字符放入列中。请参阅http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=164618 – danihp 2013-04-22 18:02:40
您确定它们是“char”而不是“nchar”吗? – 2013-04-22 18:51:58