在SQL Server中:
select gender
from people;
gender
是一个文本列,其中的值为
male, female, children
我希望在此列为NULL时实现“男性”,“女性”,“子女”和空白等输出。
我如何实现它?
答案 0 :(得分:1)
text
不是gender
的正确数据类型。对于text
等列,ntext
,image
和gender
都是deprecated并且令人难以置信的过度杀伤。
重要!将来的SQL Server版本中将删除ntext,text和image数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。请改用nvarchar(max),varchar(max)和varbinary(max)。
select coalesce(''''+convert(varchar(8),gender)+'''','') as gender from people;
或使用isnull()
select isnull(''''+convert(varchar(8),gender)+'''','') as gender from people;
引用单引号时,使用两个单引号。 e.g。
select '' as none, '''' as one, '''''' as two
返回:
+------+-----+-----+
| none | one | two |
+------+-----+-----+
| | ' | '' |
+------+-----+-----+