Sql 如何在Google BigQuery中查询一个特定分区?
我有一个分区表,分区基于时间戳列,如下所示:Sql 如何在Google BigQuery中查询一个特定分区?,sql,google-bigquery,Sql,Google Bigquery,我有一个分区表,分区基于时间戳列,如下所示: ... partition by date_trunc(update_date, month) ... 现在,如何查询此表中的分区 好的,我不能使用\u PARTITIONDATE伪列,因为这不是一个摄取时间分区表。我是否只使用date\u trunc(update\u date,month)过滤查询 在这里,我可以获得分区ID,但我也不能在我的查询中解决它们。我不确定,但每当您想测试分区是否工作时:尝试键入一个不带过滤器的SELECT*语句,然后
...
partition by date_trunc(update_date, month)
...
现在,如何查询此表中的分区
好的,我不能使用\u PARTITIONDATE
伪列,因为这不是一个摄取时间分区表。我是否只使用date\u trunc(update\u date,month)
过滤查询
在这里,我可以获得分区ID,但我也不能在我的查询中解决它们。我不确定,但每当您想测试分区是否工作时:尝试键入一个不带过滤器的
SELECT*
语句,然后不运行它,但检查估计的查询大小。然后尝试过滤您认为是分区的内容,也不运行,然后查看估计的查询大小是否减少
在这种情况下,尝试在
date\u trunc(update\u date,month)
上进行过滤,看看它是否减少了查询大小Yes。使用date\u trunc(update\u date,month)
,用于分区的表达式。谢谢!是的,我只是检查了同一个表,但没有分区。
select * from my_project.my_dataset.information_schema.partitions
where table_name = 'partitioned_table'