LaL*_*LeX 1 sqlite time datetime
我有一个SQLite表,如下所示:
+-----------+-------+
| StartTime | Name |
+-----------+-------+
| 08:00:00 | zone1 |
| 13:00:00 | zone2 |
| 17:30:00 | zone3 |
| 22:00:00 | zone4 |
+-----------+-------+
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个将根据当前时间返回行的查询:
如果CurrentTime是08:30它将返回zone1如果CurrentTime是16:40它将返回zone2如果Currenttime是04:01它将返回zone4
等等...
到目前为止,我有一些运气但不完全是我想要的
SELECT * FROM table WHERE StartTime >= time('now', 'localtime')
ORDER BY StartTime LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
我已经尝试了上述语句的一些变体,但没有一个返回我之后的结果.
谢谢!
如果添加"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 |
+-----------+----------+-------+
Run Code Online (Sandbox Code Playgroud)
...您可以简单地使用以下行的查询:
SELECT Name FROM table WHERE StartTime >= time('now', 'localtime')
AND EndTime <= time('now', 'localtime')
ORDER BY StartTime LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2559 次 |
| 最近记录: |