为什么此语句返回0而不是空字符串?我实际上使用一个视图,选择包含硬编码列的语句返回NULL。当我试图检查其一个NULL,它实际上返回0ISNULL为NULL值的硬编码列返回0
SELECT ISNULL((SELECT NULL as Col), '')
任何建议或帮助,将不胜感激......
为什么此语句返回0而不是空字符串?我实际上使用一个视图,选择包含硬编码列的语句返回NULL。当我试图检查其一个NULL,它实际上返回0ISNULL为NULL值的硬编码列返回0
SELECT ISNULL((SELECT NULL as Col), '')
任何建议或帮助,将不胜感激......
NULL
没有一个明确的类型,但在普通的SELECT NULL
中,它返回为类型int
。如果您的表达式涉及int
和char(N)
,int
获胜,则char(N)
值将转换为int
,而不是相反。为了让事情更加令人困惑,''
碰巧可以转换为int
没有任何问题,并且转换的结果是0
。
SELECT ISNULL((SELECT CAST(NULL AS char(1)) AS col), '')
应该返回一个空字符串。
mySQL的新功能。我有同样的问题有: 'IFNULL(FNAME, '')+ '' + IFNULL(L-NAME, '')Name' 我用: 'CONCAT(IFNULL(FNAME, ''), '' ,ifnull(lname,''))Name' 它的工作,以防其他人碰到相同的事情。 –