Как заполнить столбец определенным фиксированным значением для таблицы, используя select - PullRequest
0 голосов
/ 07 мая 2019

Я хочу выбрать некоторые данные, но у этих данных есть столбец со значениями NULL.Я хочу, чтобы оно изменило его с нуля на конкретное фиксированное значение без изменения базы данных

т.е. V_fruits

number | fruit     | three
1      | apple     | <null>
2      | pinapple  | <null>
3      | grape     | <null>
4      | lemon     | <null>

Я хочу использовать

Select "number","fruit",case when "three" is null then three='ofcourse'  from  V_fruits

Мне нужны некоторые указания по этому вопросу, пожалуйста, Psql

Ожидается V_fruits

number fruit      three
1      apple      Of course
2      pinapple   Of course
3      grape      Of course
4      lemon      Of course

Получено V_fruits

number  fruit    three
1       apple    false
2       pinapple false
3       grape    false
4       lemon    false

1 Ответ

0 голосов
/ 07 мая 2019

Вместо:

Select "number","fruit",case when "three" is null then 'ofcourse' END  from  V_fruits

Разница здесь в том, что three='ofcourse' вычисляется и возвращает false, потому что three равно нулю, следовательно, оно не может быть 'ofcourse'.

При желании вы можете использовать:

SELECT "number", "fruit", COALESCE(three, 'ofcourse') FROM v_fruits;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...