таблицах в одной колонке:
в оригинальной значение типа строки
во второй сделал Enum8
в запросе формирую новую колонку через multiIf()
в пределах одного хоста это работает через
INSERT INTO NewTable SELECT c1, c2, (multiIf(starsWith(c3, 'file'), 0, starsWith(c3, 'directory'), 1, starsWith(c3, 'symbolic'), 2, 3) as c3 FROM OldTable
когда пытаюсь сделать через пайп из двух консольных клиентов выдаёт ошибку что ожидается Enum8 а получен Uint8
Пробовал в пайпе конвертировать в строковые имена для Enum - тогда ругается на ошибку конdертации STring в Enum8
Как можно это победить?
format Native
задан у источника через ключ -f Native у приёмника "INSERT INTO NewTable FORMAT Native"
а это вообще про какое поле ? которое case ? тогда надо cast делать
одно из полей таблицы источника содержит строки начинающиеся с ограниченного набора значений - мне нужно перенести все данные из старой таблицы в новую заменив это поле (в примере запроса это с3) на Enum в пределах одного хоста такая вставка работает, но мне нужно перенести на другой
попробую через каст сделать, спасибо
Обсуждают сегодня