在MYSQL中将日期字符串转换为正确的日期戳(我需要sql代码,而不是php)

在MYSQL中将日期字符串转换为正确的日期戳(我需要sql代码,而不是php),mysql,datetime,Mysql,Datetime,我有一个巨大的电子表格,其中有四个日期栏,用于记录我从一个系统导入到另一个系统的各种订单的详细信息 在我从电子表格创建的MYSQL数据库中,当前的日期如下所示: 太阳时间2011年11月27日17:02:40太平洋标准时间 2011年11月26日星期六17:01:54太平洋标准时间 2011年11月28日星期一18:06:29太平洋标准时间 我希望它们只是一个日期戳,我可以在MYSQL中查询运行报告的日期戳。我现在不使用PHP,我希望能够在MySQL中进行这种转换。我发现了类似的线程,但对这种特

我有一个巨大的电子表格,其中有四个日期栏,用于记录我从一个系统导入到另一个系统的各种订单的详细信息

在我从电子表格创建的MYSQL数据库中,当前的日期如下所示:

太阳时间2011年11月27日17:02:40太平洋标准时间

2011年11月26日星期六17:01:54太平洋标准时间

2011年11月28日星期一18:06:29太平洋标准时间

我希望它们只是一个日期戳,我可以在MYSQL中查询运行报告的日期戳。我现在不使用PHP,我希望能够在MySQL中进行这种转换。我发现了类似的线程,但对这种特殊方法没有任何帮助。如果已经在某个地方处理过,则表示歉意。

使用


不过,我认为您无法正确转换时区名称。

数据库列的数据类型是什么?另外,谷歌搜索“mysql日期函数”也没那么难。我做了谷歌搜索…但无法找到如何匹配此字符串(它是一个字符串)并将其更改为datetime。列类型为varchar。将列更改为datetime会删除值…这就是我要寻找的。我知道我可以查找实际的格式位,但不熟悉(或无法找到)如何将其组合成select语句。毕竟不是答案,因为我有这么多行,所有行都带有不同的时间戳,所以我无法将str_输入到直字符串的日期。我必须为MySQL识别一个匹配的模式,然后根据该匹配设置日期格式。您已经了解到,将日期存储在varchar列中是一个非常糟糕的主意。您应该尽快将其迁移到真正的
date
列(您可能需要一个小程序)这些日期是从我无法控制的其他来源的电子表格导入SQL Server的。
select str_to_date('Sun Nov 27 17:02:40 PST 2011', '%a %b %e %H:%i:%s PST %y')