gpt4 book ai didi

google-bigquery - 查询给定日期范围内的 BigQuery 表

转载 作者:行者123 更新时间:2023-12-03 15:50:57 32 4
gpt4 key购买 nike

在 Google BigQuery 中,我有以下格式的表格:daily_records_yyyy_mm_dd .我需要对给定日期范围内的多个表运行查询。 TABLE_DATE_RANGE 函数要求表名的格式为 [prefix][day],其中 [day] 的格式为 YYYYMMDD。
在我的情况下,我仍然可以使用 TABLE_DATE_RANGE 还是有其他方法?

谢谢

最佳答案

不,您不能在此处使用 TABLE_DATE_RANGE,因为它需要特定格式

在你的情况下(对于 BigQuery Legacy SQL ) - 你应该使用 TABLE_QUERY您可以在其中使用任何表达式来选择表格

还有 - 对于 BigQuery Standard SQL - 您可以使用 _TABLE_SUFFIX伪列也适用于任何表名格式

例子:

遗留 SQL

SELECT *  
FROM (
TABLE_QUERY(YourDataset, 'LEFT(table_id, 14) = "daily_records_"
AND LENGTH(table_id) = length("daily_records_") + 10
AND DATE(REPLACE(RIGHT(table_id, 10), "_", "-"))
BETWEEN DATE("2015-11-01") AND DATE("2016-01-30")')
)

标准 SQL
SELECT * 
FROM `YourDataset.daily_records_*`
WHERE REPLACE(_TABLE_SUFFIX, "_", "-")
BETWEEN "2015-11-03" AND "2016-01-05"

关于google-bigquery - 查询给定日期范围内的 BigQuery 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38895587/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com