将1970年之前的日期字符串转换为MySQL中的时间戳

Flu*_*key 15 mysql

不是很好的标题,所以我道歉.

出于某种原因,(我不是那个人,我离题了)我们有一个表结构,其中日期的字段类型是varchar.(奇).

我们有一些日期,例如:

1932-04-01 00:00:00 and 1929-07-04 00:00:00
Run Code Online (Sandbox Code Playgroud)

我需要做一个查询,将这些日期字符串转换为unix时间戳,但是,如果你转换1970年以前的日期,它将返回0.

有任何想法吗?

非常感谢!

编辑:错误的日期格式.哎呀.

Flu*_*key 17

啊哈!我们找到了解决方案!

要做的SQL:

SELECT DATEDIFF( STR_TO_DATE('04-07-1988','%d-%m-%Y'),FROM_UNIXTIME(0))*24*3600 -> 583977600
SELECT DATEDIFF( STR_TO_DATE('04-07-1968','%d-%m-%Y'),FROM_UNIXTIME(0))*24*3600 -> -47174400 
Run Code Online (Sandbox Code Playgroud)

这可能有助于将来参考.

你可以在这里测试一下:http://www.onlineconversion.com/unix_time.htm