gpt4 book ai didi

sqlite - SQLite:根据一天中的时间选择行?

转载 作者:行者123 更新时间:2023-12-03 18:27:29 24 4
gpt4 key购买 nike

我有一个如下的SQLite表:

+-----------+-------+
| StartTime | Name |
+-----------+-------+
| 08:00:00 | zone1 |
| 13:00:00 | zone2 |
| 17:30:00 | zone3 |
| 22:00:00 | zone4 |
+-----------+-------+


我正在尝试编写一个查询,该查询将根据当前时间返回该行:

如果CurrentTime是08:30,它将返回zone1
如果CurrentTime为16:40,它将返回zone2
如果当前时间是04:01,它将返回zone4

等等...

到目前为止,我有些运气,但并不是我想要的

SELECT * FROM table WHERE StartTime >= time('now', 'localtime') 
ORDER BY StartTime LIMIT 1;


我尝试了上述语句的一些变体,但没有一个返回我想要的结果。

谢谢!

最佳答案

如果还添加一个“ EndTime”字段,则将使您的生活变得更加轻松,因为您可以简单地检查当前时间是否在开始时间和结束时间之内。

例如,如果您的数据库表包含以下内容...

+-----------+----------+-------+
| StartTime | EndTime | Name |
+-----------+----------+-------+
| 08:00:00 | 12:59:59 | zone1 |
| 13:00:00 | 17:29:59 | zone2 |
| 17:30:00 | 21:59:59 | zone3 |
| 22:00:00 | 07:59:59 | zone4 |
+-----------+----------+-------+


...您可以按照以下方式简单地使用查询:

SELECT Name FROM table WHERE StartTime >= time('now', 'localtime')
AND EndTime <= time('now', 'localtime')
ORDER BY StartTime LIMIT 1;

关于sqlite - SQLite:根据一天中的时间选择行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906589/

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