mysql 字符串替换

首先描述一下,我遇到的问题:

以下是数据库中的一个表data:


语言栏是这样的english(???) 我想把括号以及括号中的字符去掉 

replace函数是不支持正则表达式的,所以只能采用其他的方法处理。:上网查了一下 我用了下面的sql

[sql]  view plain  copy
 print ?
  1. update data_source set language = REPLACE(language,substring(language, locate('(', language),locate(')', language) ),'')   where brand_name='Behringer'    

问题解决了


下面描述下,所用到的函数:
locate:

LOCATE(substr,str)
POSITION(substr IN str)
返回子串 substr 在字符串 str 中第一次出现的位置。如果子串 substr 在 str 中不存在,返回值为 0:

substring

SUBSTR(str,pos,len): 由中的第位置开始,选出接下去的个字元。 

replace

replace(str1, str2, str3): 在字串 str1 中,當 str2 出現時,將其以 str3 替代。

你可能感兴趣的:(mysql 字符串替换)