一年截断一次

时间:2014-08-22 14:04:43

标签: mysql

假设我有一个包含Date字段的表,它包含CURDATE()的值有没有办法在每年的开头只截取一次

CREATE TABLE IF NOT EXISTS tableA(
id INT(50) PRIMARY KEY,
modified_on DATE
}

INSERT INTO tableA VALUES(1,CURDATE())

如何在每年年初将其截断一次 像

这样的东西
TRUNCATE TABLE tableA
     CASE WHEN (YEAR(tableA.modified_date) != YEAR(CURDATE()))

但它不起作用

1 个答案:

答案 0 :(得分:3)

TRUNCATE全有或全无。您可以执行DELETE FROM <table> WHERE <conditions>,但这会失去TRUNCATE的速度优势。

Delete from tableA
where (YEAR(tableA.modified_date) != YEAR(CURDATE()))