mysql - 在sql中显示超过3个月的记录

标签 mysql sql

我需要创建一个 SSIS 包,它将遍历 table(T1) 中超过 3 个月 的记录(基于 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 个月 的记录,但事实并非如此。

最佳答案

试试这个

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

关于mysql - 在sql中显示超过3个月的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13912035/

相关文章:

javascript - 当我尝试创建新表 php 时,ajax 调用失败

mysql - 如何在node.js中使用现有的wamp的MySQL数据库?

php - 两个表之间的联接不返回表之间没有链接的行

c# - C# 中的 SET IDENTITY_INSERT 用法

mysql - SQL - 对动态表使用案例语句(未知行数)

php - MySQL 数据库不存在,查询自动分流到正确的数据库?

mysql - 分组并从每个组中获取最新行

php - Laravel 5.4 忽略 $fillable

mysql - 根据同一行中的另一个值查找行值

c# - 执行 IDbConnection.Query 给出异常 : Conversion failed when converting the nvarchar value 'Memory to data type int'