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

如何在Mysql中将人工日期转换为unix时间戳?,mysql,date,Mysql,Date,我有一个带有日期字段的表,其中有人类日期,如:“2008-01-08 19:23:32” 现在我必须将这个字段加上同一个表中的一些其他字段复制到另一个表中,但日期必须是unix时间戳 mysql中是否有任何函数可以在查询本身内部将人工日期转换为unix时间戳?应该可以做到这一点 从MySQL文档: 如果在没有参数的情况下调用,则返回Unix时间戳(自 “1970-01-01 00:00:00”UTC)作为无符号整数。如果UNIX_时间戳() 使用日期参数调用,则返回参数的值 自UTC“1970-

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

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

应该可以做到这一点

从MySQL文档:

如果在没有参数的情况下调用,则返回Unix时间戳(自 “1970-01-01 00:00:00”UTC)作为无符号整数。如果UNIX_时间戳() 使用日期参数调用,则返回参数的值 自UTC“1970-01-01 00:00:00”以来的秒数。日期可以是日期字符串, 日期时间字符串、时间戳或YYMMDD或YYMMDD格式的数字 YYYYMMDD。服务器将日期解释为当前时间中的值 分区并将其转换为UTC的内部值

在此处找到:

是。
从表中选择UNIX\u时间戳(列)

查询:

SELECT UNIX_TIMESTAMP('2007-11-30 10:30:19');
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

请注意,如果表中存储的日期不是UTC,则可能必须先将其转换为UTC时区,然后调用unix_timestamp()。我不确定在计算时间戳之前,
unix\u timestamp()
是否会自动将日期时间转换为UTC。请注意。。这是
datetime
字段类型,而不是
date
字段类型。这是有区别的。
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