在mysql数据库中,我想从字段/列中删除字符串/部分
我的字段“数据”包含如下 -
1-----------,IDEA;T;P;N,VODAFONE;R;T;P;N,AIRCEL;R;T;N,---------------
2-----------,IDEA;T;P;N,VODAFONE;R;T;N,AIRCEL;R;T;N,---------------
3-----------,IDEA;T;P;N,VODAFONE;R;N,AIRCEL;R;T;N,---------------
4-----------,IDEA;T;P;N,VODAFONE;R;T;P,AIRCEL;R;T;N,---------------
这里的数据中有一部分是distingquish by,这意味着“VODAFONE; R; T; P; N”将表示为一个单词或一组。
现在我如何从现场删除IDEA Group或VODAFONE Group或AIRCEL组。
e.g. UPDATE mytable SET data="-----------,IDEA;T;P;N,AIRCEL;R;T;N,---------------"(olddata removing VODAFONE Group)
答案 0 :(得分:1)
UPDATE mytable SET data=
CASE
WHEN data LIKE '%VODAFONE;R;T;P;N,%' THEN REPLACE(data,'VODAFONE;R;T;P;N,','')
WHEN data LIKE '%VODAFONE;R;N,%' THEN REPLACE(data,'VODAFONE;R;N,','')
WHEN data LIKE '%VODAFONE;T;P;N,%' THEN REPLACE(data,'VODAFONE;T;P;N,','')
WHEN data LIKE '%VODAFONE;R;T,%' THEN REPLACE(data,'VODAFONE;R;T,','')
END
WHERE data LIKE '%VODAFONE%'
替换' VODAFONE blah'使用要删除的字符串。这将在所有字段中删除它。 编辑。如果您需要更多,请填写所有案例。