2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > mysql中将时间戳转换为指定日期格式from_unixtime

mysql中将时间戳转换为指定日期格式from_unixtime

时间:2021-04-17 08:35:37

相关推荐

mysql中将时间戳转换为指定日期格式from_unixtime

场景

给某客户用的POC数据落地在我司的测试环境,有程序拉取数据解析后落地到mysql中,再导出excel给客户,由于数据量不大且是测试环境,故没有开发专门的导出接口,而是Navicat中进行select查询再导出结果集,其中有个"发布时间"、"创建时间"等时间字段都是存的13位时间戳格式,用bigint字段类型存储的,需要将这个13位时间戳转换成"yyyy-MM-dd HH:mm:ss"格式显示。

问题

每次进行select from_unixtime(publish_time,'%Y-%m-%d %h:%i:%s') as publish_time fromzhaoyin_leasing_overseas where ……

得到的publish_time 字段不仅没有按照预期格式转换,而且查询出来的是null值,起初以为是我format的问题,后经过多方求证还是无效。

结论

后来无意中尝试将13位毫秒级别时间戳换成10位的秒级别时间戳,竟然搞定了……

select from_unixtime(publish_time/1000,'%Y-%m-%d %h:%i:%s') as publish_time fromzhaoyin_leasing_overseas where ……

经过测试发现,在mysql5.6.36和mysql5.7.23的版本中,from_unixtime(time,format),time字段都得为10位秒级别的时间戳才可以。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。