Bigquery:合并两列

Ace*_*ced 2 google-bigquery

我只是想知道如何在 Bigquery 中组合 2 个字段。

这是我的 SQL

SELECT
 cast(tbl.table_name as string) + '.' + cast(col.column_name as string)
FROM 
xy.INFORMATION_SCHEMA.TABLES tbl
INNER JOIN 
xy.INFORMATION_SCHEMA.COLUMNS col
ON tbl.table_name = col.table_name
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误

参数类型的运算符 + 没有匹配的签名:STRING、STRING。支持的签名:INT64 + INT64;FLOAT64 + FLOAT64;[3:2] 数字 + 数字

Mik*_*ant 8

对于 BigQuery 标准 SQL

您可以只使用CONCAT()函数而不使用CAST字符串到字符串,如下例所示

CONCAT(tbl.table_name, '.', col.column_name)     
Run Code Online (Sandbox Code Playgroud)

另一个选择是FORMAT()函数

FORMAT('%s.%s', tbl.table_name, col.column_name)   
Run Code Online (Sandbox Code Playgroud)