我有一个带有日期字段的表,其中的人工日期如下:'2008-01-08 19:23:32' 现在我必须将此字段加上同一个表的其他一些字段复制到另一个表中,但日期需要在unix时间戳中。
mysql中是否有任何函数将人类日期转换为查询本身内的unix时间戳?
答案 0 :(得分:44)
mysql> select unix_timestamp('2008-01-08 19:23:32');
+---------------------------------------+
| unix_timestamp('2008-01-08 19:23:32') |
+---------------------------------------+
| 1199849012 |
+---------------------------------------+
1 row in set (0.04 sec)
答案 1 :(得分:4)
UNIX_TIMESTAMP()
应该做的伎俩!
来自MySQL文档:
如果没有参数调用,则返回一个Unix时间戳(从那以后的秒数) '1970-01-01 00:00:00'UTC)作为无符号整数。如果是UNIX_TIMESTAMP() 使用日期参数调用,它返回参数的值 自1970-01-01 00:00:00'UTC以来的秒数。 date可以是DATE字符串, DATETIME字符串,TIMESTAMP或格式为YYMMDD或的数字 YYYYMMDD。服务器将日期解释为当前时间的值 区域并将其转换为UTC的内部值。
mysql> SELECT UNIX_TIMESTAMP();
-> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
-> 1196440219
答案 2 :(得分:4)
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
答案 3 :(得分:1)
是。
SELECT UNIX_TIMESTAMP(column) FROM TABLE
答案 4 :(得分:0)
查询:
SELECT UNIX_TIMESTAMP(TIMESTAMP(`opened`)) as timestamp_date, `opened` as datetime_type FROM `myterminal`
输出:
| timestamp_date | datetime_type
|------------------- |---------------------
| 1536602012 | 2018-09-10 14:53:32
| 1536603854 | 2018-09-10 15:24:14