如何格式化这种日期?

时间:2019-09-01 19:54:14

标签: mysql sql datetime

如何设置日期格式为Sun Aug 11 00:54:13 BRT 2019

我有一个表,该表的日期在varchar列中使用这种格式,我想以datetime的形式插入另一个表中。

我尝试过:

select date_format('Sun Aug 11 00:54:13 BRT 2019', '%Y-%m-%d %H:%i:%s');

用于测试,但返回NULL

还有,这种样式有名字吗?

1 个答案:

答案 0 :(得分:1)

您似乎需要将字符串转换为日期。为此,您可以使用STR_TO_DATE()

考虑:

SELECT STR_TO_DATE(
    'Sun Aug 11 00:54:13 BRT 2019',
     '%a %b %e %H:%i:%S BRT %Y'
);

收益:

2019-08-11 00:54:13

Demo on DB Fiddle

NB:

  • 从您的样本数据中无法得知是将月的一天存储为0..31(指定者%e)还是存储为00..31(指定者%d
  • 我把时区分开了