获取两个日期之间的日期差异

时间:2017-05-24 12:49:02

标签: sql sql-server tsql sql-server-2012

请帮我解决SQL Server中两个日期之间的日期差异。 下面的查询给出错误

 DATEDIFF(DD,(convert(date,[Fdate])),(convert(date,[Ldate])))[DDiff]

1 个答案:

答案 0 :(得分:3)

由于您使用的是SQL Server 2012,请使用try_convert()

select datediff(day,try_convert(date,[fdate]),try_convert(date,[ldate])) as ddiff

在Sql Server 2012及更高版本中:当转换失败而不是错误时,每个都会返回null

主要问题可能是您将日期存储为字符数据类型。如果是这样,这可能会导致其他问题,具体取决于日期的存储格式。

您可能需要指定style with try_convert()set dateformatMDYDMY,或使用try_parse()的特定文化。