Заменить значения в столбце без создания нового столбца - PullRequest
1 голос
/ 09 марта 2020

Я пытаюсь изменить один из моих запросов, чтобы выбрать все значения в БД, но также заменить все значения, которые являются NULL или "-" в столбце "RA", значением "Нет RA".

    Select *,
    IF(RA IS NULL OR RA='-', 'No RA', RA)
    from dbname

Когда я выполняю указанную выше команду, она заменяет значения, но заменяет их во вновь созданном столбце с именем «IF (RA IS NULL OR RA = '-',« No RA », RA)». Как я могу сделать, только изменив существующий столбец RA? Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 09 марта 2020

просто не используйте select *, но используйте правильный выбор, используя явное имя столбца для всех необходимых вам столбцов

 Select  IF(RA IS NULL OR RA='-', 'No RA', RA) RA, col2, col3 

    from dbname
1 голос
/ 09 марта 2020

Вам нужно перечислить столбцы, которые вы хотите select, и псевдоним скомпилированного выражения:

select
    co11,
    col2,
    ..., -- other columns to return (excepted "ra")
    case when ra is null or ra = '-' then 'No RA' else ra end ra
from dbname
...