Сообщения

Сообщения за июнь, 2021

Как преобразовать строку в массив в ClickHouse / How to transform string to array in ClickHouse

Сегодня я столкнулся с проблемой, что в документации ClickHouse нет функции преобразования строки в массив. Поискав в StackOverflow , я тоже ничего внятно не нашел. Попробую объяснить на примере: У вас есть некая колонка data типа String, которая хранит JSON: {"user_id":123456,"item_ids": [1203,1204,1205] ,"count":5} Вы хотите преобразовать поле item_ids в массив, чтобы в дальнейшем с ним производить любые функции по работе с массивами ( ссылка на документацию в конце поста ). Как преобразовать строку в массив из JSON Строка может содержать не в отдельной колонке, а, например, в поле json. Пример ниже продемонстрирует как этого добиться: С помощью функции visitParamExtractRaw достать значение поля item_ids в сыром виде: visitParamExtractRaw( data ,  'item_ids' ) С помощью функции  trim  убрать лишние квадратные скобки по краям: trim ( BOTH   '[]'   FROM   visitParamExtractRaw( data ,   'reward_ids' )) p.s. Можно также убрать и фигур