Я сталкиваюсь с некоторыми трудностями при выполнении задачи преобразования Datawarehouse, у меня есть несколько исходных столбцов, которые идут в формате varchar, данные содержат: пробелы, -, десятичные числа, такие как (1234.44).
Эти столбцы вцель объявляется как число.
Я пытаюсь обработать эти данные этим кодом, но получаю сообщение об ошибке неверного номера:
CASE WHEN
LENGTH(TRIM(TRANSLATE(column78input, '-', ' '))) is null then null
WHEN column78input IS NULL THEN 0
else to_number(column78input)
END
Во-первых, когда утверждение я пытаюсь проверить, есть ли - в источнике, оновозвращает null, когда найден, и если вы найдете его, поместите его как ноль (заменяя тире по существу нулями)
Через секунду, когда в операторах я пытаюсь обработать эти пробелы, я подумал, что они могут вызвать ошибку
И, наконец, в операторе else я хочу разобрать его с varchar на число для загрузки в целевую таблицу.
Если у кого-то есть какие-то предложения, пожалуйста, помогите!
Спасибо