我有一个 MySQL 表:
fields:
tag
duedate
在“标签”字段中,我有一个包含日期的字符串(“MYWHATEVER_20130401”)。
所有带有“标签”的行,如“MYWHATEVER_%”,我现在需要通过使用“标签”中的“20130401”并添加 14 天并以“2013-04-15”格式存储它来更新“duedate”。
有什么办法可以用一个查询来做到这一点?
我有一个 MySQL 表:
fields:
tag
duedate
在“标签”字段中,我有一个包含日期的字符串(“MYWHATEVER_20130401”)。
所有带有“标签”的行,如“MYWHATEVER_%”,我现在需要通过使用“标签”中的“20130401”并添加 14 天并以“2013-04-15”格式存储它来更新“duedate”。
有什么办法可以用一个查询来做到这一点?
您可以使用RIGHT()
函数根据指定的长度从字符串中修剪字符。在从字符串中添加之前14 days
,您需要先将其转换为 date 使用STR_TO_DATE()
,例如。
UPDATE tableName
SET duedate = STR_TO_DATE(RIGHT(tag, 8),'%Y%m%d') + INTERVAL 14 DAY
WHERE tag LIKE 'MYWHATEVER\_%'
您可以使用STR_TO_DATE函数:
UPDATE yourtable
SET
duedate = STR_TO_DATE(tag, 'MYWHATEVER_%Y%m%d') + INTERVAL 14 DAY
WHERE
tag LIKE 'MYWHATEVER\_%'
我逃脱_
了 LIKE 子句,因为它是一个快乐的角色。