这可能是简单的查询,但我无法按预期得到,所以这里要问。如果问题有误,请原谅
在上面,我提取日期字段转换为数字(6),但它是空的,所以返回0.我试图使用空格而不是0
我试过像这样投(我可能错了):
select
isnull(date_disqualified, cast('' as numeric)) as date_disqualified
from tableA
并使用那种类型的数字转换为varchar或int,但根本没有运气。
有人可以帮助我,我做错了什么或者如何让它发挥作用?
这件作品让我的一天:(答案)
ISNULL (CAST([date_disqualified] AS VARCHAR(6)), ' ')
谢谢大家
答案 0 :(得分:0)
如果您想要一个空格,那么整个列必须是一个字符。基本上是:
select (case when date_disqualified is null then ''
else convert(varchar(255), date_disqualified, 120)
end)
我不确定为什么你想要将值作为数字返回,如果它是一个字符串。您应该使用convert()
将值转换为您想要的字符串。