有人提示我如何将四列的值放入Google BigQuery的新列中?标准 SQL 方言。不是遗产。如果我尝试连接(在选择语句中或作为子选择(
SELECT
Concat (visitId,fullVisitorId,visitNumber) as identifier,
...
FROM ...
SELECT
(SELECT Concat(visitId,fullVisitorId,visitNumber) as identifier FROM ...),
...
FROM ...
我收到如下错误消息: Error: No matching signature for function CONCAT for argument types: INT64, STRING, INT64. Supported signatures: CONCAT(STRING, [STRING, ...]); CONCAT(BYTES, [BYTES, ...]) at [5:3]
如果有人可以帮助我,那就太好了。谢谢。
您是否尝试过在连接之前强制转换它们:
SELECT Concat(cast(visitId as string), cast(fullVisitorId as string), cast(visitNumber as string)) as identifier,
我不知道你想用结果做什么。 但是,将值放入数组或结构可能更有意义。 通常,不需要将值合并到字符串中,因为可以使用更复杂的类型。
代替 CONCAT(column1, column2, column3)
,您可以使用也连接列的||
:
SELECT column1 || column2 || column3
FROM example_table
另请参阅:
https://cloud.google.com/bigquery/docs/reference/standard-sql/operators#concatenation_operator