首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将日期时间格式的空值更改为空字符串

将日期时间格式的空值更改为空字符串
EN

Stack Overflow用户
提问于 2013-11-12 21:33:46
回答 9查看 223.2K关注 0票数 32

我有一个包含'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 .

**

EN

回答 9

Stack Overflow用户

发布于 2013-11-12 21:50:17

CASE和CAST应该可以工作:

CASE WHEN mycol IS NULL THEN '' ELSE CONVERT(varchar(50), mycol, 121) END
票数 46
EN

Stack Overflow用户

发布于 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]
票数 12
EN

Stack Overflow用户

发布于 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 ), '')
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19930599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档