美文网首页
MySQL更新历史时间数据

MySQL更新历史时间数据

作者: Btone | 来源:发表于2018-07-27 11:22 被阅读0次

问题描述:

公司数据库为MySQL,其中数据表(operation_log)的create_time字段用于存储创建时间,类型为bigint,现有两种格式的数据,老数据格式为:20180727101010,新数据格式是我们日常所见的时间戳,导致程序需要特殊处理,所以就想将老数据统一成时间戳。

解决思路:

首先要确定2个问题:

1、哪些数据需要更新?

create_time的值大于当前时间的毫秒值的数据都需要更新。因为老数据的值的长度为14位,时间戳的值为13位。

2、老数据如何转换为时间戳?

涉及到MySQL中的函数。DATE_FORMAT及UNIX_TIMESTAMP函数。

DATE_FORMAT函数作用为格式化时间;

UNIX_TIMESTAMP函数作用为日期时间转化为秒值。

功能实现:

UPDATE operation_log SET create_time = UNIX_TIMESTAMP(DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s')) * 1000 WHERE create_time > UNIX_TIMESTAMP() * 1000;


相关文章

网友评论

      本文标题:MySQL更新历史时间数据

      本文链接:https://www.haomeiwen.com/subject/mwuwmftx.html