gpt4 book ai didi

google-bigquery - 将 TABLE_DATE_RANGE 用于超过 1 年的表

转载 作者:行者123 更新时间:2023-12-04 15:11:06 26 4
gpt4 key购买 nike

我正在尝试使用 google bigquery 从带有日期通配符的表中选择数据。我希望能够使用 TABLE_DATE_RANGE 函数,但我需要查询一个大的日期范围(> 1 年)。现在我的查询适用于一年的数据,但我得到的任何内容:

错误:TABLE_DATE_RANGE 错误:天数太多

#Fails
SELECT
system_id, sample_date, e_pv_array
FROM
(TABLE_DATE_RANGE(workspace.intervaldata,
TIMESTAMP('2009-03-01'),
TIMESTAMP('2010-03-04')))
WHERE
system_id = 20006
and e_pv_array is not null;
#Works
SELECT
system_id, sample_date, e_pv_array
FROM
(TABLE_DATE_RANGE(workspace.intervaldata,
TIMESTAMP('2009-03-01'),
TIMESTAMP('2010-03-03')))
WHERE
system_id = 20006
and e_pv_array is not null;

这只是bigquery的限制吗?或者有没有办法使用日期范围大于 1 年的表通配符?

最佳答案

我也遇到过 TABLE_DATE_RANGE() 问题。
这是一个可能的解决方法,假设您的表被命名为 workspace.intervaldata20090303 等:

SELECT 
system_id, sample_date, e_pv_array
FROM
TABLE_QUERY(workspace, "integer(regexp_extract(table_id, r'intervaldata([0-9]+)')) BETWEEN 20090301 and 20100304")
WHERE
system_id = 20006
and e_pv_array is not null;

我有一个类似的场景(日期分区表),并且能够使用 TABLE_QUERY() 运行超过 2 年的数据查询而不会出错。

关于google-bigquery - 将 TABLE_DATE_RANGE 用于超过 1 年的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24191887/

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