ARRAY_TO_STRING()
работает со строковыми массивами, но не поддерживается целочисленными массивами.
У меня есть повторяющийся столбец, содержащий список идентификаторов, я хочу экспортировать его из набора данных США в набор данных ЕС. Пока что я использую
bq query --nouse_legacy_sql --allow_large_results --max_rows=100000000000 --format=csv < {sql_file} > {output_file}
, но это не работает с вложенными столбцами, поскольку CSV не поддерживает их.
Другой вариант - экспорт как json, но мне нужно преобразовать это до новой строки JSON. Я мог бы использовать jq
для преобразования, но по умолчанию он не установлен на сервере.
Вместо этого я иду по пути выравнивания повторяющихся столбцов перед экспортом. Я думаю, мне нужно преобразовать каждый элемент массива в строку, а затем использовать ARRAY_TO_STRING()
. Я иду по правильному пути?
Мне кажется, я хочу что-то похожее на
SELECT ARRAY_TO_STRING(ARRAY((SELECT CAST(* AS STRING)), ';') FROM UNNEST(segments)) FROM my_table
, но это дает мне Syntax error: Unexpected "*"
, как и должно быть. Есть идеи?