首页 > 解决方案 > sql编码中的日期间隔

问题描述

我有一个如下表:

Creationdate         Priority             interval
10/10/2020             P0                    1
7/10/2020              P1                    7

我想将间隔添加到每个日期。例如,如果优先级为 p0,则创建日期+1,

问题是日期存储为字符串。我怎样才能得到结果?

标签: mysqlsqlstringdatetimecase

解决方案


STR_TO_DATE首先使用函数将字符串转换为日期。

SELECT STR_TO_DATE('10/10/2020', '%m/%d/%y') + INTERVAL 1 DAY;

So 

SELECT STR_TO_DATE(creationdate, '%m/%d/%y') + INTERVAL 1 DAY;

所以如果你想更新你的查询将是

UPDATE table_name
SET creationdate = STR_TO_DATE(creationdate, '%m/%d/%y') + INTERVAL 1 DAY
WHERE Priority = 'P0';


推荐阅读