返回信息流存的是BIGINT格式,想变成日期格式的,有办法么?
例如,1353564931138
现在用的办法是除以1000
SELECT FROM_UNIXTIME(1353564931138/1000, '%Y-%m-%d %H:%i:%S')
出来的结果是 2012/11/22 14:15:31
有其他方法么?
这是一条镜像帖。来源:北邮人论坛 / database / #7213同步于 2012/11/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
【求教】如何把BIGINT格式变成DATETIME?
amanizheng
2012/11/22镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
如果没理解错的话,你的BIGINT格式原来保存的是ms,而mysql时间字段存储只支持到秒。
想要精确保存原始数据的话,需要额外存储毫秒数
mysql> select from_unixtime(1353564931138/1000, '%Y-%m-%d %T %f');
+-----------------------------------------------------+
| from_unixtime(1353564931138/1000, '%Y-%m-%d %T %f') |
+-----------------------------------------------------+
| 2012-11-22 14:15:31 000000 |
+-----------------------------------------------------+
mysql> select date_format(concat(from_unixtime(1353564931138/1000),'.',1353564931138%1000*1000), '%Y%m%d%H%i%s.%f');
+-------------------------------------------------------------------------------------------------------+
| date_format(concat(from_unixtime(1353564931138/1000),'.',1353564931138%1000*1000), '%Y%m%d%H%i%s.%f') |
+-------------------------------------------------------------------------------------------------------+
| 20121122141531.138000 |
+-------------------------------------------------------------------------------------------------------+
【 在 amanizheng 的大作中提到: 】
: 存的是BIGINT格式,想变成日期格式的,有办法么?
: 例如,1353564931138
: 现在用的办法是除以1000
: ...................