Sql日期差异查询

时间:2018-06-19 07:40:57

标签: sql sql-server datediff

我需要区分两个日期,即表格中的列: LastAIResponseReceivedDate,LastUploadedDate

我正在使用此声明:

update Group set AITime=(CONVERT (varchar,(LastAIResponseReceivedDate-LastUploadedDate),121)) where GroupId=2 and Id=5

我正确地得到时间差异,但我的日期差异是错误的1900-01-01 01:56:56.427

如何正确获取日期差异

2 个答案:

答案 0 :(得分:1)

在你的问题中不明白,你想要什么类型的差异(日,月,年)。 但这可能会对你有帮助。

SELECT DATEDIFF(month, 'Start_date_variable', 'End_date_variable') AS DateDiff;

语法为:

DATEDIFF(interval, date1, date2)

间隔可以是日,月,年,周,小时,秒等。

答案 1 :(得分:0)

首先解析到日期时间,你需要

Set timediff = DATEDIFF(s, LastAIResponseReceivedDate,LastUploadedDate)

节省时差,因为第二个更方便以后使用。如果您想以某种日期格式保存,请记住不是日期时间,时差不是日期时间'。 所以,

Select CONVERT(varchar, FLOOR(timediff/(3600*24))) + 'D ' + CONVERT(varchar, DATEADD(s, timediff, 0), 114)