1

我有一个TableA包含两个字段的表,strField并且dateField. 字符串字段 strField 包含文本日期,例如2013 年 1 月 30 日,星期三,下午 1:02,但我需要将其转换为日期格式并将其替换为名为dateField. 有没有一种简单的方法可以做到这一点,还是我必须做所有的剥离?

最后一步很简单,我想。当我剥离所有内容并使字符串看起来像这样2013-02-15 11:45:21.0时,这将只是一个简单的

STR_TO_DATE('2013-02-15 11:45:21.0', '%m/%d/%Y')

也许有一个功能可以轻松剥离数据并重新格式化原始文本字符串。

4

1 回答 1

0
SELECT 
DATE_FORMAT( 
  STR_TO_DATE( 'Wednesday, January 30th, 2013, 1:02 PM', '%W, %M %D, %Y, %I:%i %p' ), '%Y-%m-%d %T');

sqlfiddle链接。

对于其他格式转换,请查看DATE_FORMAT()MySQL 文档。


对于您UPDATE来说,这样做:

UPDATE `tableA`
SET `dateField` =  DATE_FORMAT(
        STR_TO_DATE(`strField`, '%W, %M %D, %Y, %I:%i %p'),
    '%Y-%m-%d');
于 2013-02-06T06:26:14.887 回答