SQL 查询 - 时间比较 (SQLite)
我想问一下有没有人可以帮忙sql查询。我有时间格式为:HH:MM:SS 的表格。我想编写一个查询,返回距离当前时间最近的时间(未来的时间)。例如:表包含 3 行:12:00:00、12:01:00、12:02:00。如果:
1)当前时间是:12:00:30。查询返回:12:01:00.等等。
但是!
2) 当前时间为:12:02:30。查询返回:12:00:00。
我写了这个查询,它解决了我 1),但没有解决 2)。
select time(myColumn)
from myTable
where time(myColumn) >= time(current_timestamp, 'localtime')
order by myColumn
limit 1
如果有人可以提供帮助,我将不胜感激。
PS:数据库位于 SQLite 中(必须是),并且无法使用日期进行计算,例如:2011-01-01 12:00:00...)
谢谢汤姆。
I would like to ask if someone would be able to help with sql query. I have table with times in format: HH:MM:SS. I want to write a query that returns me the closest time (to the future) to the current time. For example: Table contains 3 rows: 12:00:00, 12:01:00, 12:02:00. If:
1) Current time is: 12:00:30. The query returns: 12:01:00., etc.
BUT!
2) Current time is: 12:02:30. The query returns: 12:00:00.
I write this query, whitch solves me 1), but not 2).
select time(myColumn)
from myTable
where time(myColumn) >= time(current_timestamp, 'localtime')
order by myColumn
limit 1
I would appreciate if someone could help.
PS: Database is in SQLite (must be) and is not possible to calculate with dates eg: 2011-01-01 12:00:00...)
Thank you Tom.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你可以这样做:
由汤姆编辑
You could do this:
Edited by Tom
编辑:如果您需要获取下一个最接近的时间,请尝试:
它按数据库中下一个时间戳的时间量进行排序,如果需要的话尝试添加 24 小时以获得正数(即将到来的时间)作为结果。
EDIT: if you need to get the NEXT closest time, try:
It sorts by the amount of time to the next timestamp in the database, attempting to add 24 hours if necessary to get a positive number (an upcoming time) as a result.
我解决了!这是查询:
Thx Tim &戴夫为我指明了道路。
I solved it! This is the query:
Thx Tim & Dave who showed me the way.