如果值超过4个月,我需要一个查询来删除表中的值,请查看详细信息

时间:2016-05-09 18:06:04

标签: sql-server sql-server-2008 tsql qtsql

我有一个EmailID_tbl,其中包含我要求的用户的电子邮件地址,“如果用户的上次登录日期在过去4个月内,则会从EmailID_tbl中删除电子邮件。”

2 个答案:

答案 0 :(得分:1)

假设它们在同一个表中,您可以使用WHERE子句来确定需要通过DATEADD()函数删除哪些内容,从GETDATE()中减去适当的月数,产生当前日期:

-- This would delete every record in your table with LastLoginDates 
DELETE 
  FROM EmailID_tbl
 WHERE LastLoginDate < DATEADD(month,-4,GETDATE())

答案 1 :(得分:1)

这是一个可以执行此操作的查询:

DELETE
FROM EmailID_tbl
WHERE LastLoginDate <= DATEADD(mm, -4, GETDATE())

LastLoginDate更改为表格中指示上次登录日期的实际名称,如果您确实要删除更多活跃用户而非更多非活动用户,请将<=更改为>=