Mysql 在sql中显示超过3个月的记录
我需要创建一个SSIS包,该包将遍历一个Mysql 在sql中显示超过3个月的记录,mysql,sql,Mysql,Sql,我需要创建一个SSIS包,该包将遍历一个表(T1)中早于3个月的记录(基于ALERT\u TIMESTAMP),并将它们移动到另一个表(T2) 我的问题是: SELECT * FROM T1 WHERE (DATEDIFF([month], ALERT_TIMESTAMP, GETDATE()) > 3) Alert\u timestamp列采用Datetime格式。例如:'10/26/2012 12:00:00 AM' 当我运行查询时,它应该显示所有早于3个月的记录,但它没有显示。您发
表(T1)
中早于3个月的记录(基于ALERT\u TIMESTAMP
),并将它们移动到另一个表(T2)
我的问题是:
SELECT * FROM T1
WHERE (DATEDIFF([month], ALERT_TIMESTAMP, GETDATE()) > 3)
Alert\u timestamp
列采用Datetime
格式。例如:'10/26/2012 12:00:00 AM'
当我运行查询时,它应该显示所有早于3个月的记录,但它没有显示。您发布的不是MySQL。假设您使用的是MS SQL Server,则应使用
ABS()
函数
SELECT * FROM T1
WHERE ABS(DATEDIFF([month], ALERT_TIMESTAMP, GETDATE())) > 3
试试这个
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
你能提供表格的结构吗?日期格式设置是什么?执行select getdate()时的格式是什么?这与OP要求的格式相反。您的解决方案将返回表中所有小于或正好为3个月的记录,而问题询问的是所有大于3个月的记录。您只需使用