我有一个包含'NULL‘值的表,这些值的类型是'Datetime’。现在我必须将它们转换为空字符串,但是当我使用convert函数时
ISNULL( [Accrued Out of Default] ,'' )
这里默认发生的是datetime类型,它将null改为'1900-01-01 00:00:00.000‘而不是空的
然后,我尝试将它们转换为varchar并应用相同的
ISNULL(CONVERT(varchar(50), [Amort Into Default] ),'')
现在我可以转换为空字符串,但是现在这些datetime被转换为我在datetime中需要的字符串,所以我尝试转换,但它们都不起作用。
CONVERT(Datetime,'ISNULL(CONVERT(varchar(50), [Amort Into Default] ),'')',120)
这会产生错误。
有没有可能解决这个问题。
> **Solution Hi someone answered this to do as.
> ISNULL(CONVERT(varchar(50), [Amort Into Default] ,120),'') and it works I dont know why .
**
发布于 2013-11-12 21:50:17
CASE和CAST应该可以工作:
CASE WHEN mycol IS NULL THEN '' ELSE CONVERT(varchar(50), mycol, 121) END
发布于 2013-11-12 22:55:09
使用ISNULL是我找到的绕过日期中NULL的最好方法:
ISNULL(CASE WHEN CONVERT(DATE, YOURDate) = '1900-01-01' THEN '' ELSE CONVERT(CHAR(10), YOURDate, 103) END, '') AS [YOUR Date]
发布于 2015-06-12 18:29:17
declare @date datetime; set @date = null
--declare @date datetime; set @date = '2015-01-01'
select coalesce( convert( varchar(10), @date, 103 ), '')
https://stackoverflow.com/questions/19930599
复制相似问题