我需要区分两个日期,即表格中的列:
LastAIResponseReceivedDate,LastUploadedDate
我正在使用此声明:
update Group set AITime=(CONVERT (varchar,(LastAIResponseReceivedDate-LastUploadedDate),121)) where GroupId=2 and Id=5
我正确地得到时间差异,但我的日期差异是错误的1900-01-01 01:56:56.427
如何正确获取日期差异
答案 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)