3

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

在此数据中,一部分以 区分,这意味着“VODAFONE;R;T;P;N”将表示为一个单词或组。

现在如何从现场删除 IDEA Group 或 VODAFONE Group 或 AIRCEL group。

e.g. UPDATE mytable SET data="-----------,IDEA;T;P;N,AIRCEL;R;T;N,---------------"(olddata removing VODAFONE Group)
4

1 回答 1

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”替换为您要删除的字符串。这将在所有字段中删除它。编辑。如果您需要更多,只需放入所有案例。

于 2013-09-02T15:51:59.473 回答