比较SQL Server中GETDATE()和Datetime2之间的差异
我想检查当前时间(比较SQL Server中GETDATE()和Datetime2之间的差异,sql,sql-server,getdate,Sql,Sql Server,Getdate,我想检查当前时间(GETDATE())和StartTime)之间的时差 这就是我到目前为止所做的: SELECT CheckedOut, GETDATE() AS CurrentDateTime, StartTime FROM TimeRecordModels WHERE CheckedOut = 0; 另外,如果差异大于15小时,我想使boolCheckedOut为真,然后将列名EndTime设置为GETDATE()使用该函数 SELECT CheckedOu
GETDATE()
)和StartTime
)之间的时差
这就是我到目前为止所做的:
SELECT
CheckedOut, GETDATE() AS CurrentDateTime, StartTime
FROM
TimeRecordModels
WHERE
CheckedOut = 0;
另外,如果差异大于15小时,我想使boolCheckedOut
为真,然后将列名EndTime
设置为GETDATE()
使用该函数
SELECT CheckedOut, GETDATE() AS CurrentDateTime, StartTime,
DATEDIFF(hour, StartTime, GETDATE()) AS HoursDifference
FROM TimeRecordModels
WHERE CheckedOut = 0;
要完成更新,请执行以下操作:
UPDATE TimeRecordModels
SET CheckedOut = 1,
EndTime = GETDATE()
WHERE DATEDIFF(hour, StartTime, GETDATE()) > 15
AND CheckedOut = 0;
转到BOL并查找DATEDIFF。
DATEDIFF(hour,StartTime,GETDATE())
还要根据您的情况更加具体。根据您对它的看法,1:00和2:59小时之间的差值可能等于或大于1。