2016-07-11 2 views
0

Мне нужно выбрать из таблицы столбец, который должен быть плавающим. Однако некоторые значения появляются как строка. Является ли способ заменить строку константой (скажем, 999) в инструкции select?postgres sql заменить не числовое значение константой

Благодаря

+0

Какова ваша цель? почему вы пытаетесь заменить его на 999? вам нужно заменить все значения для этого столбца? – mcha

+0

нет Мне нужно заменить то, что не является числовым с 999 –

+0

Хорошо, и вы уверены, что замена 999 не повредит ваши результаты на более позднем этапе? например, если вам нужно агрегировать данные и создать отчет, является ли столбец каким-то идентификатором или он является аддитивным, и вам нужно создать агрегаты и вычисления на нем. – mcha

ответ

0

Вы можете найти полезный ответ здесь: https://stackoverflow.com/a/10307443/6359593. Я скопировал здесь код для ленивых =)

create or replace function cast_to_int(text, integer) returns integer as $$ 
begin 
    return cast($1 as integer); 
exception 
    when invalid_text_representation then 
     return $2; 
end; 
$$ language plpgsql immutable; 
Смежные вопросы