我正在尝试将数据从旧表迁移到新表,但在旧表中,日期数据类型是datetime,而在新表中,日期数据类型是int,并且接受timestamp值。
那么,如何转换sql查询中的旧日期,以便将其作为时间戳插入到新表中呢?
INSERT INTO `new_table` (`id`, `user_id`, `doctor_id`, `message_id`, `type`, `is_message`, `is_note`, `doctor_initials`, `call_status`, `message`, `date_created`, `date_updated`, `day`)
SELECT id, usid, drid, message_id, type, is_message, is_note, doctor, kall, message, datein, 123, ziua
FROM `old_table`;
我想要一个函数,将旧的日期转换为值,再转换为时间戳,例如在上面的查询convert\ into\ timestamp(datein)
任何帮助都将不胜感激。
new table date\u created字段接受unix时间戳中的值,例如:1540642765
谢谢
3条答案
按热度按时间20jt8wwn1#
t9eec4r02#
你要找的功能是
UNIX_TIMESTAMP()
,例如。给出utc时区中的0。
ruarlubt3#
尝试
UNIX_TIMESTAMP()
功能:来自文档:
如果不带参数调用,则以无符号整数形式返回unix时间戳(自'1970-01-01 00:00:00'utc起的秒数)。如果使用日期参数调用unix\u timestamp(),它将以秒的形式返回自“1970-01-01 00:00:00”utc以来的参数值。日期参数可以是日期、日期时间或时间戳字符串,也可以是yymmdd、yymmddhhmmss、yyyymmdd或yyyymmddhhmmss格式的数字。服务器将日期解释为当前时区中的值,并将其转换为utc的内部值。