将VARCHAR时间戳转换为TIMESTAMP?

Mar*_*ark 9 mysql time datetime timestamp

我在MySQL数据库中有"2011年9月13日17:16:28 PDT"形式的时间戳.数据库中字段的类型是VARCHAR.我想将此VARCHAR转换为MySQL中TIMESTAMP类型的字段.

我尝试了本网站其他地方建议的一些解决方案,例如使用string_to_time函数,但这些解决方案都是从不同类型的时间戳开始的.

如何将上面提到的VARCHAR时间戳转换为MySQL识别的TIMESTAMP,以便按日期对数据进行排序?

Ome*_*esh 7

你可以在MySQL中使用STR_TO_DATE函数来做到这一点,试试这个:

SELECT STR_TO_DATE("17:16:28 Sep 13, 2011 PDT", '%H:%i:%s %b %d, %Y PDT');
Run Code Online (Sandbox Code Playgroud)

编辑:

SELECT STR_TO_DATE(field_name, '%H:%i:%s %b %d, %Y PDT') AS new_time
FROM table_name;
Run Code Online (Sandbox Code Playgroud)