MySQL:将字符串AM转换为PM

时间:2015-10-31 13:45:10

标签: mysql sql datetime

我有一列像2015/10/14 07:00:00这样的字符串我需要将它们转换为DateTime,我的问题是:

07:00在下午时间

我需要以 19:00

的格式获取

我的代码:

UPDATE `DATE_tests`
      SET `newDate` = STR_TO_DATE(`oldDate`, '%Y/%m/%d %r')

准确地说,我需要2015/10/14 07:00:002015-10-14 19:00:00

我可以到目前为止2015-10-14 07:00:00

2 个答案:

答案 0 :(得分:2)

您应该修复表并将日期存储为日期,而不是字符串。但是你需要增加12个小时来做​​你想做的事情。像这样的东西

UPDATE `DATE_tests`
      SET `newDate` = DATE_FORMAT(DATE_ADD(STR_TO_DATE(`oldDate`, '%Y/%m/%d %r'), interval 12 hour), '%Y-%m-%d %H:%i:%s');

答案 1 :(得分:1)

试:INTERVAL 12 HOUR

UPDATE `DATE_tests`
      SET `newDate` = DATE_FORMAT(DATE_ADD(STR_TO_DATE(`oldDate`, '%Y/%m/%d %r'), INTERVAL 12 HOUR), '%Y-%m-%d %H:%i:%s');

见这里:Add 2 hours to current time in MySQL?