SQL: Как заменить целое поле, если оно соответствует строке? - PullRequest
0 голосов
/ 26 сентября 2018

Я пытаюсь заменить все поле из базы данных, когда оно соответствует определенной строке.

Например: TABLE_FRUITS содержит

ID     NAME
---------------
1      APPLE
2      ORANGE
3      PASSIONFRUIT
4      BANANA
5      DRAGONFRUIT
6      KIWI
7      STRAWBERRY FRUIT

Теперь Если я пытаюсь выбрать столбец NAME,и если поле содержит строку «FRUIT», оно должно заменить все это поле на другую строку, например «SAMPLE».

Ожидаемый результат:

select NAME from TABLE_FRUITS;

вернет:

APPLE
ORANGE
SAMPLE
BANANA
SAMPLE
KIWI
SAMPLE

Я не уверен, стоит ли мне использовать replace или substr / instr.

Ответы [ 3 ]

0 голосов
/ 26 сентября 2018

Вы можете использовать CASE

select case when name like '%FRUIT%' then 'sample' else name end 
from table_fruit
0 голосов
/ 26 сентября 2018

Вариант использования, когда:

select case when name like '%fruit%' then 'Sample' else name end from tablename
0 голосов
/ 26 сентября 2018

Если вы используете MySQL, вы можете использовать что-то вроде

SELECT IF(NAME LIKE '%FRUIT%', 'SAMPLE', NAME) AS NAME FROM TABLE_FRUIT

В других разновидностях SQL вам, вероятно, потребуется использовать выражение CASE:

SELECT CASE WHEN NAME LIKE '%FRUIT%' THEN 'SAMPLE' ELSE NAME END AS NAME FROM TABLE_FRUIT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...