在PostgreSQL

时间:2016-06-10 00:56:54

标签: sql postgresql

我有一个看起来像这样的表:

id | flight_number | departure_time | arrival_time
---+---------------+----------------+-------------
 1 | UAL123        | 07:00:00       | 08:30:00
---+---------------+----------------+-------------
 2 | AAL456        | 07:30:00       | 08:40:00
---+---------------+----------------+-------------
 3 | SWA789        | 07:45:00       | 09:10:00

我正在尝试根据当前时间的出发时间找出可以获得即将到来的航班的SQL查询。例如,在07:20,我想返回AAL456, SWA789,因为这些航班还没有离开。在07:40,我想返回SWA789。有什么好办法呢?

1 个答案:

答案 0 :(得分:1)

好吧,您可以使用LOCALTIME来获取当前时间。因此,如果departure_time存储为time,则:

select t.*
from t
where t.departure_time > localtime;

这假设没有时区信息是时间值的一部分。此外,在最后一班航班离开一天后,它将不会返回任何航班(这与您的问题的措辞一致)。