我对sql非常陌生,尝试使用以下命令从数据库(flight)中提取数据表:
select
flight.FLT_NBR,
flight.LEG_NBR,
flight.LEG_TAIL_NBR,
flight.LEG_IATA_ORIG_CD as FLT_SCHD_ORIG_ARPT_CD,
flight.LEG_IATA_DEST_CD as FLT_SCHD_DEST_ARPT_CD,
flight.SCHD_ARR_TMSTP as Scheduled_Arrival,
flight.ACTL_ARR_TMSTP AS Actual_Arrival,
flight.SCHD_DPRT_TMSTP as Scheduled_Departure,
flight.ACTL_DPRT_TMSTP AS Actual_Departure,
from home/tulips/FT_FLIGHT_LEG flight
现在的问题是有多个国家的来源地和目的地不同的时间。如何将所有国家的时区合并到一起?我尝试使用命令作为时区'utc'如下面,但它没有工作。。。可能是我加错地方了?
select
flight.FLT_NBR,
flight.LEG_NBR,
flight.LEG_TAIL_NBR,
flight.LEG_IATA_ORIG_CD as FLT_SCHD_ORIG_ARPT_CD,
flight.LEG_IATA_DEST_CD as FLT_SCHD_DEST_ARPT_CD,
flight.SCHD_ARR_TMSTP as Scheduled_Arrival as time zone 'UTC',
flight.ACTL_ARR_TMSTP AS Actual_Arrival as time zone 'UTC',
flight.SCHD_DPRT_TMSTP as Scheduled_Departure as time zone 'UTC',
flight.ACTL_DPRT_TMSTP AS Actual_Departure as time zone 'UTC',
from home/tulips/FT_FLIGHT_LEG flight
请帮我找到一种方法,让所有的预定到达、实际到达、预定离开和实际离开都有一个时区
1条答案
按热度按时间2o7dmzc51#
你想要的表达方式是
at time zone
,不是as time zone
.为了使用它,你需要知道原来的时区
datetime
值表示。例如,我在澳大利亚悉尼有一台sql servergetdate()
将返回我的本地日期和时间。但是,要将其转换为utc,我必须首先通知sql该值以aus eastern standard time开始,然后要求它通过链接将其转换为utcat time zone
一起表达。这样地:如果您不知道原始datetime值的时区,sql就无法知道如何将其更改为其他时区的值。