将字符串长日期转换为 MySQL 中的日期时间
Convert String long date to datetime in MySQL
我从 table 中得到这个值 'Mon Oct 26 16:34:23 CST 2015'
作为字符串。
我想使用 str_to_date()
将此字符串转换为下一个 datetime
值 '2015-10-26 16:34:23'
,如下所示:
select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s %Y') val;
但它 returns 我一个 null
值,如果我删除 '%Y'
,我得到下一个:'0000-10-26 16:34:23'
.
如何从字符串中跳过 'CST'
以获得年份值?
使用replace
是立竿见影的办法,但我不能丢弃其他时区格式。
提前,谢谢。
您可以在格式字符串中包含时区本身。所以,这有效:
select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s CST %Y') val;
当然,如果您的字符串有其他时区,这将不起作用。
我从 table 中得到这个值 'Mon Oct 26 16:34:23 CST 2015'
作为字符串。
我想使用 str_to_date()
将此字符串转换为下一个 datetime
值 '2015-10-26 16:34:23'
,如下所示:
select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s %Y') val;
但它 returns 我一个 null
值,如果我删除 '%Y'
,我得到下一个:'0000-10-26 16:34:23'
.
如何从字符串中跳过 'CST'
以获得年份值?
使用replace
是立竿见影的办法,但我不能丢弃其他时区格式。
提前,谢谢。
您可以在格式字符串中包含时区本身。所以,这有效:
select str_to_date('Mon Oct 26 16:34:23 CST 2015','%a %b %d %H:%i:%s CST %Y') val;
当然,如果您的字符串有其他时区,这将不起作用。