求mysql数据库中批量删除某个表某个字段中所有中文字符的sql语句。

mysql数据库,表a中,想要批量删除b字段所有记录中的中文字符。能不能用一个sql语句完成,用正则表达式来匹配中文字符?如果可以,求这个操作的sql语句。最好能在phpmyadmin中输入可执行。下面附上我写的一个经测试不能运行的语句 update `a` set `b`=replace(`b`,'[^\x00-\xff]',''),供参考。 好像不支持这样的正则表达式用法,[^\x00-\xff]这个匹配双字节字符(包括汉字在内)。

第1个回答  2013-06-24
这个是当字符串处理了。
UPDATE a SET a = REPLACE(a, a REGEXP '[^\x00-\xff]','');
试试看,我没有测试,你自己测试一下。
第2个回答  2013-06-24
替换需求还是交给程序来处理吧,mysql根本不适合干这个~如果需求非得让mysql来做这个处理,那说明数据结构设计的不合理。本回答被网友采纳