
我有一个封闭的源应用程序,它在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个时间戳作为一天的开始和结束,这不需要太多的转换开销.我会把这作为锻炼留给渴望的人;) 总结
以上是内存溢出为你收集整理的mysql – 13个字符长时间戳的SQL语句全部内容,希望文章能够帮你解决mysql – 13个字符长时间戳的SQL语句所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)