如何在MySQL中以毫秒为单位获取当前时间。
到目前为止,我得到的是UNIX_TIMESTAMP()
。
但它会以秒为单位返回当前时间。
但我希望自MySQL'1970-01-01 00:00:00'以来,UTC中的当前时间为毫秒。
有任何建议吗?
答案 0 :(得分:5)
查看documentation,听起来像是你想要的
NOW(3)
...其中值3用于指定您想要3位亚秒级精度,即毫秒。 (遗憾的是,文档中没有一个示例显示正在使用,所以检查这个对我来说相对比较棘手......)
要将其作为“自Unix时代以来的毫秒”值,您可能想要使用:
UNIX_TIMESTAMP(NOW(3)) * 1000
答案 1 :(得分:1)
这是我的答案;
mysql> Select curtime(4);
+------------+
| curtime(4) |
+------------+
| 13:27:20 |
+------------+
1 row in set (0.00 sec)
或者也可以这样做:
mysql> select conv(
-> concat(
-> substring(uid,16,3),
-> substring(uid,10,4),
-> substring(uid,1,8))
-> ,16,10)
-> div 10000
-> - (141427 * 24 * 60 * 60 * 1000) as current_mills
-> from (select uuid() uid) as alias;
+---------------+
| current_mills |
+---------------+
| 1427995791797 |
+---------------+
1 row in set (0.00 sec)