我有一个MySQL表:
fields:
tag
duedate
在“tag”字段中,我有一个包含日期的字符串(“MYWHATEVER_20130401”)。
所有带“tag”的行如“MYWHATEVER_%”,我现在需要使用“标签”中的“20130401”更新“duedate”并添加14天并以“2013-04-15”格式存储。 / p>
用一个查询做任何事情吗?
答案 0 :(得分:2)
您可以使用RIGHT()
函数根据指定的长度修剪字符串中的字符。在您从字符串中添加14 days
之前,您需要先使用STR_TO_DATE()
将其转换为日期,例如。
UPDATE tableName
SET duedate = STR_TO_DATE(RIGHT(tag, 8),'%Y%m%d') + INTERVAL 14 DAY
WHERE tag LIKE 'MYWHATEVER\_%'
答案 1 :(得分:0)
您可以使用STR_TO_DATE功能:
UPDATE yourtable
SET
duedate = STR_TO_DATE(tag, 'MYWHATEVER_%Y%m%d') + INTERVAL 14 DAY
WHERE
tag LIKE 'MYWHATEVER\_%'
我在LIKE子句上转义了_
,因为它是一个快乐的角色。