Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql BigQueryExtractHour提供了意外的结果_Sql_Google Bigquery - Fatal编程技术网

Sql BigQueryExtractHour提供了意外的结果

Sql BigQueryExtractHour提供了意外的结果,sql,google-bigquery,Sql,Google Bigquery,我使用bigquery的EXTRACT函数从TIMESTAMP类型的列中提取一小时,该列提供UTC时间 问题在于预期结果与实际结果之间存在不一致。 UTC和纽约时间之间通常有四个小时的增量 以下是查询和结果: 选择预订时间,从美国/纽约时区的预订时间中提取小时 从matview.resview 预期 2021-06-06 02:00:00 22 2021-06-06 02:00:00 22 2021-06-06 02:00:00 22 2021-06-06 01:30:00

我使用bigquery的EXTRACT函数从TIMESTAMP类型的列中提取一小时,该列提供UTC时间

问题在于预期结果与实际结果之间存在不一致。 UTC和纽约时间之间通常有四个小时的增量

以下是查询和结果:

选择预订时间,从美国/纽约时区的预订时间中提取小时 从matview.resview 预期 2021-06-06 02:00:00 22 2021-06-06 02:00:00 22 2021-06-06 02:00:00 22 2021-06-06 01:30:00 21 实际结果 2021-06-06 02:00:00 20 2021-06-06 02:00:00 20 2021-06-06 02:00:00 20 2021-06-06 01:30:00 19 编辑:

请参阅其他SQL查询及其输出:

选择格式\u时间戳%F%T%Z、预订时间、预订时间 从matview.resview 输出 2021-03-11 14:30:00 UTC 2021-03-11 15:30:00 2021-04-09 13:30:00 UTC 2021-04-09 15:30:00 2020-07-23 20:30:00 UTC 2020-07-23 22:30:00 2020-07-23 21:00:00 UTC 2020-07-23 23:00:00 2020-07-23 20:00:00 UTC 2020-07-23 22:00:00
可能您有不同的默认时区,并且看到的时间不是UTC。 请尝试此查询,将UTC时间与提取的小时数进行比较:

select
  FORMAT_TIMESTAMP("%F %T %Z", reservation_time),
  EXTRACT(HOUR from reservation_time AT TIME ZONE "America/New_York")
from matview.resview

是的,你是对的!感谢您提供了一种检查方法。问题可能来自DBeaver