一尘不染

在SQL中显示超过3个月的记录

sql

我需要创建一个SSIS程序包,该程序将在 3个月table(T1)以上的 时间
(基于ALERT_TIMESTAMP)中浏览记录,然后将其移至另一个table(T2)

我的查询是:

SELECT * FROM T1
WHERE (DATEDIFF([month], ALERT_TIMESTAMP, GETDATE()) > 3)

Alert_timestamp列的Datetime格式。例如:'10/26/2012 12:00:00 AM'

当我运行查询时,它应该显示所有早于 3个月 的记录,但不会。


阅读 343

收藏
2021-03-10

共1个答案

一尘不染

试试这个

select * from `table` where `yourfield` >= DATE_SUB(CURDATE(), INTERVAL 3 MONTH)

对于天,年份请参见下面的示例。

DATE_SUB(CURDATE(), INTERVAL 15 DAY) /*For getting record specific days*/

DATE_SUB(CURDATE(), INTERVAL 1 YEAR) /*for getting records specific years*/

对于Anand,查询

BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE() ,INTERVAL 3 MONTH ) 
/* For Getting records between last 6 month to last 3 month
2021-03-10