我有一个日期格式为0014-%
的列,我想将其更新为2014-%
格式。
例如,0014-01-01
将变为2014-01-01
,0014-02-01
将变为0014-02-01
,依此类推。
我可以使用SQL查询执行此操作。如果是这样,我的查询将如何?
此查询为我提供了所有需要更新的值
SELECT DATE_ABC FROM TABLE_XYZ
WHERE DATE_ABC LIKE '0014-%';
GROUP BY DATE_ABC;
答案 0 :(得分:1)
如果您将日期存储为date
而不是字符串,请尝试:
update table_xyz
set date_abc = date_abc + interval 2000 year
where year(date_abc) = 14;
其他答案涵盖了您将日期存储为字符串的情况(我建议您不要这样做)。
答案 1 :(得分:0)
会替换工作吗? REPLACE(DATE_ABC, '0014', '2014')
?否则结合substring和concat:CONCAT('2', SUBSTRING(DATE_ABC, 1))
SELECT DATE_ABC, CONCAT('2', SUBSTRING(DATE_ABC, 1))
FROM TABLE_XYZ
WHERE DATE_ABC LIKE '0014-%';
GROUP BY DATE_ABC;
答案 2 :(得分:0)
UPDATE table_xyz
SET date_abc = REPLACE(date_abc '0014%', '2014'%)
WHERE date_abc LIKE ('0014%');