bigquery concat массив значений bool - PullRequest
0 голосов
/ 07 февраля 2019

Попытка выполнить этот запрос и проблема с полем «предоставлено»:

SELECT 

ARRAY_TO_STRING(ARRAY(SELECT permission FROM t.protopayload_auditlog.authorizationInfo), ',') permissions,
ARRAY_TO_STRING(ARRAY(SELECT granted FROM t.protopayload_auditlog.authorizationInfo), ',') granted,
ARRAY_TO_STRING(ARRAY(SELECT resource FROM t.protopayload_auditlog.authorizationInfo), ',') resource,

protopayload_auditlog.requestMetadata.callerSuppliedUserAgent AS agent,
timestamp,
severity,
resource.labels.bucket_name as name_of_bucket,
protopayload_auditlog.authenticationInfo.principalEmail

FROM 
`mytable` t

Предоставлено логическое значение, а не строка, и я получаю эту ошибку:

No matching signature for function ARRAY_TO_STRING for argument types: ARRAY, STRING. Supported signatures: ARRAY_TO_STRING(ARRAY, STRING, [STRING]); ARRAY_TO_STRING(ARRAY, BYTES, [BYTES]) at [6:1]

1 Ответ

0 голосов
/ 07 февраля 2019

Вы должны CAST Boolean to STRING, как в примере ниже

ARRAY_TO_STRING(ARRAY(SELECT CAST(granted AS STRING) FROM t.protopayload_auditlog.authorizationInfo), ',') granted,
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...