在MySQL中将String long date转换为datetime

时间:2015-10-28 23:58:12

标签: mysql datetime timezone str-to-date

我从表中将此值'Mon Oct 26 16:34:23 CST 2015'作为字符串。

我想使用datetime将此字符串转换为下一个'2015-10-26 16:34:23'str_to_date(),如下所示:

select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s %Y') val;

但它会返回null值,如果我删除'%Y',我会得到下一个:'0000-10-26 16:34:23'

如何从字符串中跳过'CST'以获取年份值?

使用replace是最直接的解决方案,但我无法丢弃其他时区格式。

事先,谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在格式字符串中包含时区本身。所以,这有效:

select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s CST %Y') val;

当然,如果你的字符串有其他时区,这不起作用。