在mysql数据库中,我想从字段/列中删除一个字符串/部分
我的字段“data”包含以下内容-

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,---------------

在这些数据中,一部分被区分,这意味着“vodafone;r;t;p;n”将被表示为一个单词或组。
现在我如何才能将idea group、沃达丰group或aircel group从字段中删除。
e.g. UPDATE mytable SET data="-----------,IDEA;T;P;N,AIRCEL;R;T;N,---------------"(olddata removing VODAFONE Group)

最佳答案

 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”替换为要删除的字符串。这将在所有字段中删除它。
编辑。如果你需要更多的话,把所有的箱子都放进去。

08-28 09:05