【发布时间】:2014-05-11 20:01:19
【问题描述】:
我有一张包含一些数据的表格。看起来是这样的:
MariaDB [lokatnik]> SELECT id_elixir, start_time FROM elixir ORDER BY start_time ASC;
+-----------+------------+
| id_elixir | start_time |
+-----------+------------+
| 3 | 00:00:00 |
| 1 | 12:30:00 |
| 2 | 13:30:00 |
+-----------+------------+
3 rows in set (0.00 sec)
现在,我需要准确地选择一行匹配时间条件 - 比如 - start_time > some_time。
例如:
- 当 some_time 是 10:00 时,我需要 id_elixir = 1 的行(时间超过 10:00 的第一行),
- 当 some_time 是 13:00 时,我需要一行 id_elixir = 2(如上),
- 当 some_time 是 14:00 时,我需要 id_elixir = 3 的行。
如何使用 SQL(和 MySQL/MariaDB DBMS)获取该行?
【问题讨论】:
-
start_time列数据类型是什么? -
将时间与 00:00:00 进行比较几乎是不可能的,因为它可能是同一天的午夜或第二天的午夜。所以
> '14:00'将失败并返回意外结果。