0

我正在尝试将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 是非法字符。

4

1 回答 1

0

*您可以在您的FROM和生成的伪列_table_suffix中使用通配符WHERE

SELECT
  * 
FROM 
  `<project-id>.<dataset-id>.<table-prefix>*`
WHERE 
  REGEXP_MATCH(_table_suffix, r"OUT\d+$") 

我不完全确定您的表名是什么样的 - 这是关于转换到标准 SQL 的官方文档:https ://cloud.google.com/bigquery/docs/reference/standard-sql/wildcard-table-reference# the_table_query_function

于 2021-04-22T15:23:53.993 回答