gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:01:00 25 4
gpt4 key购买 nike

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

1277953190942

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

例如,我有 2010 年 7 月 1 日,我将获取时间介于 2010 年 7 月 1 日 00:00:00 至 2010 年 7 月 1 日 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 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com