满足条件时更改列值

时间:2020-06-21 14:57:25

标签: mysql

我有2列视图:

column a     column b
aaa          One
bbb          Two
aaa r3       Three
aaa tr       Four
trr          One
uuu          One

我想做的是创建一个具有相同列数的新视图,但是当a列中的值包含aaa时,b列中的值将更改为One,bbb为2,并且其他值为初始值。

我尝试使用case语句来执行此操作,但是没有用。

SELECT
    CASE WHEN column a like '%aaa%'
         THEN column b = 'One'
    else column b

...
FROM table; 

谢谢。

2 个答案:

答案 0 :(得分:0)

SELECT
    CASE 
         WHEN a like '%aaa%' THEN 'One'
         ... etc. ...
         ELSE b
    END AS b
...
FROM table; 

答案 1 :(得分:0)

您的语法错误,请尝试以下操作:

SELECT columna,
       CASE 
         WHEN columna like '%aaa%' THEN 'One'
         WHEN columna like '%bbb%' THEN 'Two'
         ELSE columnb
       END columnb
FROM table;