У меня есть таблица со столбцом po_number
типа varchar
в Postgres 8.4. Он хранит буквенно-цифровые значения с некоторыми специальными символами. Я хочу игнорировать символы [/alpha/?/$/encoding/.]
и проверять, содержит ли столбец число или нет. Если это число, то оно должно быть приведено к типу как число или же передать значение null, поскольку мое выходное поле po_number_new
является числовым полем.
Ниже приведен пример:
Я устал от этого утверждения:
select
(case when regexp_replace(po_number,'[^\w],.-+\?/','') then po_number::numeric
else null
end) as po_number_new from test
Но я получил ошибку для явного приведения: