愿你出走半生,归来仍是少年

将MySQL数据库中的时间戳字段内容批量转换为日期格式

需求:将数据库中某个表里的某个原本存储为时间戳的字段内容转换为时间格式的内容
例如:数据表user中有4个字段,分别为:id, user_id, name,pay_time,当前显示形式为:

pay_time字段为int类型,存储的为11位时间戳信息,需要改为如:2020-11-12 14:00:00 的形式,如果直接修改字段类型,该字段内所有信息都将变为0000-00-00 00:00:00:00,如图:

因此必须通过合理转换才能够保持原来的数据正常使用,所用函数为:

FROM_UNIXTIME('你的时间戳字段','%Y-%m-%d %H:%i:%s')

其中后面的日期为可选项,如果不设置转换后的时间格式形如:2020-11-12 12:08:25
使用方法如下(即将需要替换的字段通过函数转换一下):

SELECT id,  user_id, name, FROM_UNIXTIME(pay_time) from user;

这样就生成了新的内容,复制为SQL语句,备用;
然后将数据表user中的pay_time字段类型由原来的int类型更改为timestamp类型,清空或截断数据库内容;
再将执行后生成的SQL语句重新导入回去即可!

未经允许不得转载:王亚新的博客 » 将MySQL数据库中的时间戳字段内容批量转换为日期格式

分享到:更多 ()