加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql – 13个字符长时间戳的SQL语句

发布时间:2020-12-11 23:35:14 所属栏目:MySql教程 来源:网络整理
导读:我有一个封闭的源应用程序,它在MySQL数据库中放置了一个13个字符的长时间戳.一个值是例如: 1277953190942 现在我遇到了问题,我必须编写一个sql语句,它将返回一个与特殊日期匹配的表的所有结果. 所以我有例如2010年7月1日,我将获得时间在01. July 2010 00:00

我有一个封闭的源应用程序,它在MySQL数据库中放置了一个13个字符的长时间戳.一个值是例如:

1277953190942

现在我遇到了问题,我必须编写一个sql语句,它将返回一个与特殊日期匹配的表的所有结果.

所以我有例如2010年7月1日,我将获得时间在01. July 2010 00:00:00至01. July 23:59:59之间的所有行.

我该如何编写这个sql语句?

select * from myTable where TIMESTAMP = ???

有谁知道这个?

最好的祝福.

最佳答案 这是一个具有毫秒精度的Unix timestamp,即自Unix epoch以来的毫秒数.因此,正确的陈述将是

select * from myTable where DATE(FROM_UNIXTIME(timestamp / 1000)) = DATE('2010-07-01');

请注意,查询不会很快,表中的每个值都必须转换为比较日期.一旦此查询开始出现问题(而不是之前的第二个),您可能希望使用一个方法,使用2个时间戳作为一天的开始和结束,这不需要太多的转换开销.我会把这作为锻炼留给渴望的人;)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读