我从表中将此值'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
是最直接的解决方案,但我无法丢弃其他时区格式。
事先,谢谢。
答案 0 :(得分:2)
您可以在格式字符串中包含时区本身。所以,这有效:
select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s CST %Y') val;
当然,如果你的字符串有其他时区,这不起作用。