0

我从表中获取此值'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是直接的解决方案,但我不能丢弃其他时区格式。

提前,谢谢。

4

1 回答 1

2

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

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

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

于 2015-10-29T00:04:33.810 回答