Gui*_*lez 4 sql arrays google-bigquery
我在 中有一个表Big Query
,其中一些字段是日期数组(重复日期类型)。我需要将它们转换为字符串。对于字符串字段数组,我按如下方式执行,并且工作正常:
ARRAY_TO_STRING(national_id, "|", "") AS national_id
Run Code Online (Sandbox Code Playgroud)
但是当该字段是一个日期数组时,我会遇到错误。
参数类型的函数 ARRAY_TO_STRING 没有匹配的签名:ARRAY、STRING、STRING。支持的签名:ARRAY_TO_STRING(ARRAY, STRING, [STRING]); ARRAY_TO_STRING(ARRAY, BYTES, [BYTES]) 在 [41:1]
我还尝试将日期转换为字符串,如下所示:
ARRAY_TO_STRING(cast(natural_person_date_of_birth_list as string), "|", "") AS natural_person_date_of_birth_list,
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
[41:22] 从 ARRAY 到 STRING 的无效转换。
任何人都可以帮助我解决这个问题吗?
非常感谢
您可以使用选择列表中的子查询将日期转换为字符串。例如,
SELECT
ARRAY_TO_STRING(national_id, "|", "") AS national_id,
(SELECT STRING_AGG(date, "|") FROM UNNEST(natural_person_date_of_birth_list)) AS dates_of_birth
FROM YourTable;
Run Code Online (Sandbox Code Playgroud)
这种方法的优点是您可以为每一行获取一个字符串,这听起来像是您想要的。
归档时间: |
|
查看次数: |
11194 次 |
最近记录: |