2010-04-21 163 views
0

我想通过在表中结合日期和时间字段从查询中检索UNIX时间戳,但它始终返回为零。MySQL - 结合两个字段来创建一个unix时间戳?

  SELECT *, 
      UNIX_TIMESTAMP(startdate starttime) AS start, 
      UNIX_TIMESTAMP(enddate endtime) AS end 
      FROM mytable; 

任何人都可以帮我吗?

谢谢。

回答

4

未经测试,但它应该工作:

SELECT UNIX_TIMESTAMP(CONCAT(startdate, ' ', starttime)) AS start; 
1

看看这个:

mysql> select TIMESTAMP(curdate(), curtime()), TIMESTAMP(curdate(), curtime()) + 0; 
+---------------------------------+-------------------------------------+ 
| TIMESTAMP(curdate(), curtime()) | TIMESTAMP(curdate(), curtime()) + 0 | 
+---------------------------------+-------------------------------------+ 
| 2010-04-21 19:03:23    |      20100421190323 | 
+---------------------------------+-------------------------------------+ 
1 row in set (0.00 sec) 

我很抱歉,有些此外:

mysql> select UNIX_TIMESTAMP(TIMESTAMP(curdate(), curtime())), UNIX_TIMESTAMP(); 
+-------------------------------------------------+------------------+ 
| UNIX_TIMESTAMP(TIMESTAMP(curdate(), curtime())) | UNIX_TIMESTAMP() | 
+-------------------------------------------------+------------------+ 
|          1271862564 |  1271862564 | 
+-------------------------------------------------+------------------+ 
1 row in set (0.00 sec)