Я получаю это сообщение в Redshift: invalid input syntax for type numeric: " "
, даже после попытки выполнить совет, найденный в SO.
Я пытаюсь преобразовать текст в число.
В моемвнутреннее объединение, я стараюсь убедиться, что обрабатываемый текст сначала преобразуется в ноль, когда есть пустая строка, например так:
nullif(trim(atl.original_pricev::text),'') as original_price
... Я заметил из соответствующего поста на coalesce, что вынеобходимо преобразовать значение в текст, прежде чем вы сможете попытаться обнулить его.
Затем во внешнем объединении я проверяю, что есть ограниченный набор допустимых символов, и если этот тест выполняется, я пытаюсь выполнитьпреобразование to_number:
,case
when regexp_instr(trim(atl.original_price),'[^0-9.$,]')=0
then to_number(atl.original_price,'FM999999999D00')
else null
end as original_price2
В этот момент я получаю вышеуказанную ошибку, и, к сожалению, я не вижу подробностей в datagrip, чтобы получить оскорбительное значение.
Итак, мои вопросы:
- Я заметил, что в моем сообщении об ошибке есть пустое место:
invalid input syntax for type numeric: " "
.Имеет ли эта ошибка то же значение, что и
invalid input syntax for type numeric:''
, что я вижу в аналогичных постах ??
Конечно: что я делаю не так?
Спасибо!