在SQL Server中将NULL值显示为“未知”

时间:2016-01-29 19:34:20

标签: sql-server

我有一个有两列的表;一个用于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

时转换失败

2 个答案:

答案 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