获取记录在PostgreSQL的
我有一个表,看起来像这样:获取记录在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
。什么是这样做的好方法?
那么,您可以使用LOCALTIME
来获取当前时间。所以,如果departure_time
存储为time
,则:
select t.*
from t
where t.departure_time > localtime;
这不承担任何时区信息的时间价值的一部分。另外,在最后一班航班离开一天后(这与您的问题的措辞一致),它将不返回航班。
该列创建为'时间(0)没有时区“,但是当我运行这个查询时,它仍然返回所有行。 –
@AndrewDeForest。 。 。也许你应该检查你正在使用的系统上的'localtime'。 –
良好的调用...没有在我的开发机器上工作,但在生产服务器上工作。 –
http://stackoverflow.com/questions/27834235/how-to-calculate-next-occurring-date-based-on-day-of-week-from-a-start-date – fuzz