我有一个包含2个日期/时间列的表(CreatedDateTime / LastModifiedDateTime):
Item CreatedDateTime LastModifiedDateTime
1 2016-03-18 18:49:36.557 2016-03-22 18:51:10.950
2 2016-03-22 17:32:57.610 2016-03-22 17:37:26.790
我想:
如上所述,我希望能够在一段时间内报告尚未“修改”的项(LastModifiedDateTime)。
有人能指出我正确的方向吗?
答案 0 :(得分:2)
如果您使用的是SQL SERVER:
示例数据:
CREATE TABLE #Temp(Item INT
, CreatedDateTime DATETIME
, LastModifiedDateTime DATETIME);
INSERT INTO #Temp
VALUES
(1
, '2016-03-18 18:49:36.557'
, '2016-03-22 18:51:10.950'),
(2
, '2016-03-22 17:32:57.610'
, '2016-03-22 17:37:26.790');
QUERY:
SELECT A.Item
, A.CreatedDateTime
, A.LastModifiedDateTime
, Age = DATEDIFF(day,A.CreatedDateTime,GETDATE())
, inactivity = DATEDIFF(day,A.LastModifiedDateTime,GETDATE())
FROM #Temp AS A;
结果:
答案 1 :(得分:0)
你可以使用年龄的DATEDIFF()函数和当前日期的GETDATE()函数。
您只需输入DATEDIFF(day,CreatedDateTime,GETDATE())或类似查询。
Datediff()还允许您采取月,小时或其他时间措施。
同样使用#2,你可以抛出一些情况,当LastModifiedDateTime为空时......然后给你自己一个不同的报告。
答案 2 :(得分:0)
DATEDIFF()
函数返回两个日期之间的时间。
语法 DATEDIFF(datepart,startdate,enddate);
SELECT DATEDIFF(day,'2014-06-05','2014-08-05') AS DiffDate
结果
DiffDate
61
交换日期会导致结果为负。