MySQL:计算列中的宽度日期

时间:2019-02-10 08:34:04

标签: mysql date

我想定义一个cron,如果date_added列中的日期早于60天,则从MySQL列中删除特定数据,但如果MySQL支持计算宽度日期,则找不到任何信息。这可能吗,如果可以,怎么办?

DELETE FROM 
vcount 
WHERE date_added - 60 days

date_added ==日期时间== 0000-00-00 00:00:00

3 个答案:

答案 0 :(得分:0)

假设date_add是有效的日期列,则可以使用date_sub

DELETE FROM 
vcount 
WHERE date_sub(date_added, INTERVAL 60 DAY);

答案 1 :(得分:0)

您可以使用date_add()或date_sub()函数:

where date_added < date_add(curdate(),INTERVAL -60 DAY)

where date_added < date_sub(curdate(),INTERVAL 60 DAY)

(许多人更喜欢始终使用带有负间隔的date_add()进行减法运算)

答案 2 :(得分:0)

使用DATE_SUB(日期,INTERVAL值间隔)

date:必需。修改日期

value:必需。要减去的时间/日期间隔的值。正值和负值都允许

时间间隔:必填。要减去的时间间隔类型。可以是以下其中之一

值:

MICROSECOND

第二

分钟

小时

DAY

MONTH

QUARTER

YEAR

SECOND_MICROSECOND

MINUTE_MICROSECOND

MINUTE_SECOND

HOUR_MICROSECOND

HOUR_SECOND

HOUR_MINUTE

DAY_MICROSECOND

DAY_SECOND

DAY_MINUTE

DAY_HOUR

YEAR_MONTH

DELETE FROM 
vcount 
WHERE date_added  < (DATE_SUB(NOW(), INTERVAL 60 DAY))