Google 大查询,将遗留 sql 转换为标准 sql
Google Big Query, convert legacy sql to standard sql
我正在尝试将 LegacySql
查询转换为 StandardSQL
SELECT * FROM
TABLE_QUERY([prod-chap_out],'REGEXP_MATCH(table_id, r"OUT\d+$")')
此查询在旧版 SQL 中运行良好,但在 API 中使用时无法转换为 json 响应。我宁愿将其序列化为 json,也不愿使用一堆数据表和转换值。
如何将其转换为标准SQL?
我试过了
REGEXP_CONTAINS(table_id, r"OUT\d+$"))
但我收到错误消息 \d is an illegal character。
您可以在 FROM
中使用通配符 *
并在 WHERE
中使用生成的伪列 _table_suffix
:
SELECT
*
FROM
`<project-id>.<dataset-id>.<table-prefix>*`
WHERE
REGEXP_MATCH(_table_suffix, r"OUT\d+$")
我不完全确定你的 table 名字是什么样的 - 这是关于转换到标准 SQL 的官方文档:https://cloud.google.com/bigquery/docs/reference/standard-sql/wildcard-table-reference#the_table_query_function
我正在尝试将 LegacySql
查询转换为 StandardSQL
SELECT * FROM
TABLE_QUERY([prod-chap_out],'REGEXP_MATCH(table_id, r"OUT\d+$")')
此查询在旧版 SQL 中运行良好,但在 API 中使用时无法转换为 json 响应。我宁愿将其序列化为 json,也不愿使用一堆数据表和转换值。
如何将其转换为标准SQL?
我试过了
REGEXP_CONTAINS(table_id, r"OUT\d+$"))
但我收到错误消息 \d is an illegal character。
您可以在 FROM
中使用通配符 *
并在 WHERE
中使用生成的伪列 _table_suffix
:
SELECT
*
FROM
`<project-id>.<dataset-id>.<table-prefix>*`
WHERE
REGEXP_MATCH(_table_suffix, r"OUT\d+$")
我不完全确定你的 table 名字是什么样的 - 这是关于转换到标准 SQL 的官方文档:https://cloud.google.com/bigquery/docs/reference/standard-sql/wildcard-table-reference#the_table_query_function