1

您好,我有日期和时间表:

date               time 
09-03-2014  06:17:15
09-03-2014  06:23:06
09-03-2014  06:28:57
09-03-2014  06:40:39

我会这样做:

SELECT CONCAT_WS(' ',date,time) AS newtime FROM hive96
newtime
09-03-2014 06:17:15
09-03-2014 06:23:06
09-03-2014 06:28:57
09-03-2014 06:40:39

稍后我输入以下代码:

SELECT unix_timestamp('2008-06-19 16:25:15'); <==newtime

我想收集两个查询。我想newtime放入 unix 时间戳查询。

谢谢

4

1 回答 1

1

正如 Michael Berkowski 所说,最好将日期列的类型从 更改为 ,将时间列的类型varchar更改datetime。如果做不到,则必须将字符串转换为datetime. MySQL 提供了STR_TO_DATE()执行此操作的函数:

SELECT UNIX_TIMESTAMP( 
    STR_TO_DATE( 
        CONCAT_WS(' ', date, time), 
        '%d-%m-%Y %H:%i:%s')
    )
);

检查手册:格式字符串的 STR_TO_DATEDATE_FORMAT

于 2014-04-13T20:36:43.027 回答