让我们说我有datefield1和datefield2,通常,datefield2比datafield1提前3个月。但是,在某些情况下,它超过3个月,所以我只需要提取不同时间超过三个月的日期。
示例:
id | Datefield1 | Datefield2
1 08/15/2017 11/15/2017
2 05/10/2017 10/11/2017
3 06/01/2018 09/01/2017
结果应该只提取id 2。 提前谢谢。
答案 0 :(得分:3)
WHERE DATEDIFF(MM,Datefield1,Datefield2) > 3
可用于查找月份差异超过3的位置。
答案 1 :(得分:1)
您可以使用datediff来解决它:
select id
from t1
where DATEDIFF(month,Datefield1,Datefield2)>3
答案 2 :(得分:1)
我没有尝试过SQL,但我认为你可以尝试使用类似的东西:
SELECT id FROM table
WHERE DATEDIFF(month,Datefield1,Datefield) > 3
问候。
答案 3 :(得分:0)
使用DateDiff
:
SELECT *
from table1
WHERE DATEDIFF(MONTH, datefield1, datefield2) > 3
这会给你身份2:
| id | Datefield1 | Datefield2 |
|----|----------------------|----------------------|
| 2 | 2017-05-10T00:00:00Z | 2017-10-11T00:00:00Z |
如果您想要更新,请使用DATEADD
:
UPDATE t1
SET datefield2 = DateADD(MONTH, 3, datefield2)
FROM table1 AS t1
WHERE DATEDIFF(MONTH, datefield1, datefield2) > 3;