我已经有一个现有的表,在MySql数据库中名为“ table1”,例如,它有一个名为“ subject”的列,其中包含这样的值:
现在我想在“ table1”中添加一个名为“ code”的新列,其中将包含值:
“主题”中“ AAAA”的是“ S01”,
“主题”中“ BBBB”的是“ S02”,
对于“主题”中的“ CCCC”,为“ S03”,
“主题”中“ DDDD”的名称是“ S04”。
如下所示:
SQL查询如何实现?
答案 0 :(得分:0)
您可以使用例如case的情况
select subject
, case
when subject ='AAAA' then 'S01'
when subject ='BBBB' then 'S02'
when subject ='CCCC' then 'S03'
when subject ='DDDD' then 'S04'
end code
from my_table
,如果需要更新表的内容
update my_table
set code = case
when subject ='AAAA' then 'S01'
when subject ='BBBB' then 'S02'
when subject ='CCCC' then 'S03'
when subject ='DDDD' then 'S04'
end
您可以使用
将列添加到表架构中ALTER TABLE my_table ADD code varchar(4) ;
对于以'AAAA'开头的字符串,您可以使用like
运算符
when subject like 'AAAA%' then 'S01'