更新wordpress自定义字段日期格式

时间:2012-07-03 21:41:58

标签: mysql wordpress date format

在我的严重疏忽中,我将所有日期格式排序为%M %d %Y (July 3 2012)而不是%Y %m %d (2012 07 03)

我想将自定义字段的所有日期(称为“game_release_date”)转换为新格式。

我到目前为止(但不起作用)的代码是:

UPDATE `wp_postmeta` 
SET meta_key = DATE(STR_TO_DATE(game_release_date, '%m %d %Y'))
WHERE DATE(STR_TO_DATE(game_release_date, '%M %d %Y'));

1 个答案:

答案 0 :(得分:0)

要将包含July 03 2012的字符串转换为MySQL日期,请使用MySQL的STR_TO_DATE()函数:

STR_TO_DATE(game_release_date, '%M %d %Y')

我建议将此函数的结果存储在DATE数据类型的列中。

要将MySQL日期(无论是上述函数的结果还是DATE列)转换为2012 07 03,请使用MySQL的DATE_FORMAT()函数:

DATE_FORMAT(date_value, '%Y %m %d')

因此,如果您想将日期保存在字符串中(通常是一个坏主意),但采用新格式:

UPDATE wp_postmeta
SET    game_release_date = DATE_FORMAT(
         STR_TO_DATE(game_release_date, '%M %d %Y'),
         '%Y %m %d'
       )
WHERE  meta_key = ...