如何在Mysql中将人类日期转换为unix时间戳



我有一个带有日期字段的表,其中包含人类日期,如:'2008-01-08 19:23:32'现在我必须将这个字段加上同一表的一些其他字段复制到另一个表,但日期需要在unix时间戳。

是否有任何函数在mysql将人类日期转换为unix时间戳内部查询本身?

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)

在这里找到:http://www.epochconverter.com/

UNIX_TIMESTAMP()应该能成功!

From MySQL Docs:

如果不带参数调用,返回Unix时间戳(seconds since)'1970-01-01 00:00:00' UTC)作为无符号整数。如果UNIX_TIMESTAMP ()使用日期参数调用,它返回参数的值as seconds since '1970-01-01 00:00:00' UTC。date可以是一个date字符串,DATETIME字符串、TIMESTAMP或格式为YYMMDD或的数字名称。服务器将日期解释为当前时间中的值并将其转换为UTC的内部值。

mysql> SELECT UNIX_TIMESTAMP();
        -> 1196440210
mysql> SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
        -> 1196440219
SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');

是。SELECT UNIX_TIMESTAMP(column) FROM TABLE

查询:

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

最新更新