今天早上关于新表通配符功能的好消息!有没有办法在包含日期但没有前缀的表上使用TABLE_DATE_RANGE()?
我有一个数据集,其中包含名为YYYYMMDD(无前缀)的表.通常我会这样查询:
SELECT foo
FROM [mydata.20140319],[mydata.20140320],[mydata.20140321]
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
我尝试了以下但是我收到了一个错误:
SELECT foo
FROM
(TABLE_DATE_RANGE(mydata.,
TIMESTAMP('2014-03-19'),
TIMESTAMP('2015-03-21')))
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
以及:
SELECT foo
FROM
(TABLE_DATE_RANGE(mydata,
TIMESTAMP('2014-03-19'),
TIMESTAMP('2015-03-21')))
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
Jor*_*ani 10
此处的基本错误已于2015-05-14修复.您应该能够使用TABLE_DATE_RANGE纯数字表名.您需要以"."结束数据集.并将名称括在括号中,以便解析器不会抱怨.这应该工作:
SELECT foo
FROM
(TABLE_DATE_RANGE([mydata.],
TIMESTAMP('2014-03-19'),
TIMESTAMP('2015-03-21')))
LIMIT 100
Run Code Online (Sandbox Code Playgroud)
注意:底层错误已修复,请参阅我的其他答案.为后代留下的原始回复(因为解决方法应该仍然有效,以防您出于某种原因需要它)
好问题.这应该有效,但目前还没有.我提交了一个内部错误.与此同时,解决方法是使用该TABLE_QUERY功能,如:
SELECT foo
FROM (
TABLE_QUERY(mydata,
"TIMESTAMP(table_id) BETWEEN "
+ "TIMESTAMP('2014-03-19') "
+ "AND TIMESTAMP('2015-03-21')"))
Run Code Online (Sandbox Code Playgroud)
请注意,借助BigQuery 中的标准 SQL_TABLE_SUFFIX支持,您可以使用, 代替TABLE_QUERY。例如:
SELECT foo
FROM `mydata_*`
WHERE _TABLE_SUFFIX BETWEEN '20140319' AND '20150321'
Run Code Online (Sandbox Code Playgroud)
另请检查此问题,了解有关 BigQuery 标准 SQL 的更多信息。
| 归档时间: |
|
| 查看次数: |
15124 次 |
| 最近记录: |