在Google BigQuery的一个新列中合并/ Concat列

Mog*_*gry 2 sql concat google-bigquery

有人暗示我如何将四个列的值放入Google BigQuery的新列中?标准SQL方言。不是遗产。如果我尝试concat(在select语句中或作为subselect)

SELECT
Concat (visitId,fullVisitorId,visitNumber) as identifier,
...
FROM ...

SELECT     
(SELECT Concat(visitId,fullVisitorId,visitNumber) as identifier FROM ...),
...
FROM ...
Run Code Online (Sandbox Code Playgroud)

我收到如下错误消息: Error: No matching signature for function CONCAT for argument types: INT64, STRING, INT64. Supported signatures: CONCAT(STRING, [STRING, ...]); CONCAT(BYTES, [BYTES, ...]) at [5:3]

如果有人可以帮助我,那就太好了。谢谢。

Gor*_*off 7

您是否尝试过在concat之前投放它们:

SELECT Concat(cast(visitId as string), cast(fullVisitorId as string), cast(visitNumber as string)) as identifier,
Run Code Online (Sandbox Code Playgroud)

我不知道您要如何处理结果。但是,将值放入数组或结构中可能更有意义。通常,您不需要将值合并为字符串,因为可以使用更复杂的类型。