首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将毫秒精度时间戳生成为BIGINT的Mysql函数(13)

问将毫秒精度时间戳生成为BIGINT的Mysql函数(13)
EN

Stack Overflow用户
提问于 2010-10-27 18:26:12
回答 1查看 3.7K关注 0票数 3

我知道mysql不支持以millisecond精度存储时间戳列。

我的问题是:我是否可以编写一个mysql函数,将当前时间输出为精确到毫秒的BIGINT(13)。

例如,as now()输出一个时间戳:

代码语言:javascript
复制
mysql> select now();
+---------------------+
| now()               |
+---------------------+
| 2010-10-27 11:24:23 |
+---------------------+

我想写一个mysql函数,比如ts(),它输出一个bigint(13),例如

代码语言:javascript
复制
mysql> select ts();
+---------------------+
| ts()               |
+---------------------+
| 1288172185517      |
+---------------------+

我希望这样做的原因是能够用函数ts()的值填充列的默认值

e..g

代码语言:javascript
复制
`MY_TIMESTAMP_COLUMN` BIGINT(13) DEFAULT ts(),
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-27 18:37:17

您发布的文章链接引用了这样一个函数的实现:

http://bugs.mysql.com/bug.php?id=8523

如果您将对sprinf的调用替换为tv.tv_sec * 1000000 + tv.tv_usec,则该函数将返回自纪元以来的微秒数形式的本地时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4032187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档