假设我有一个包含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()))
但它不起作用
答案 0 :(得分:3)
TRUNCATE
全有或全无。您可以执行DELETE FROM <table> WHERE <conditions>
,但这会失去TRUNCATE
的速度优势。
Delete from tableA
where (YEAR(tableA.modified_date) != YEAR(CURDATE()))