在使用SQL Server 2005中,我如何获得以下语句或者说让输出符合我的要求。
SELECT Id 'PatientId',
ISNULL(ParentId,'') 'ParentId'
FROM Patients
ParentId是一个允许NULL
的uniqueidentifier
,但似乎查询优化器还尝试将''
转换回uniqueidentifier
,用于那些ParentId = NULL
的行。正如标题所述,这就是查询运行程序抛出的确切错误信息!
- 如何让服务器返回空字符串以表示
ParentId = NULL
?
COALESCE
和ISNULL
用于处理空值,而不是零值。如果您想让零值变为空字符串,那么您可能正在寻找一个CASE
表达式。但请记住,如果您希望一个结果是空字符串,您需要确保CASE
的所有可能结果也是字符串。(例如,一个int
类型是不能包含空字符串的) - Damien_The_Unbeliever