我有一个有两列的表;一个用于Name(数据类型nvarchar),另一个用于ID(datatype int并允许null)。
我正在尝试显示表中的所有数据,包括那些具有空值的数据,但我希望查询结果将空值显示为“未知”。 我运行了以下查询:
Select Name, ID
Case
When ID is null then 'unknown'
When id is not null then (ID)
End
From table
问题是我收到了这条消息:
将varchar值'unknown'转换为数据类型int
时转换失败
答案 0 :(得分:1)
我猜你可以将你的整数转换为varchar
在处理空值时,您也可以使用COALESCE而不是case。
Select Name, COALESCE(CAST(ID AS VARCHAR(10)),'unknown') AS ID
From table
答案 1 :(得分:1)
您可以使用COALESCE功能
Select Name, coalesce(convert(varchar(20),ID), 'unknown')
From table