84669 personnes étudient
152542 personnes étudient
20005 personnes étudient
5487 personnes étudient
7821 personnes étudient
359900 personnes étudient
3350 personnes étudient
180660 personnes étudient
48569 personnes étudient
18603 personnes étudient
40936 personnes étudient
1549 personnes étudient
1183 personnes étudient
32909 personnes étudient
UPDATE shop SET desn2 = "" WHERE desn2 REGEXP "[(联通)(移动)(电信)]";
我用这句的时候,发现中文都被清空了,而一些只有数字或者英语组成的单元格却没有被清空,请问怎么办?
我试了试,只要使用了中括号,就会莫名其妙被匹配:我觉得应该是他把中文,分解成了 编码 ,然后用编码去匹配的你自己写个试试.
SELECT '大家好' REGEXP '[不存在]';
这个应该不存在,但是她就是存在了!
闭关修行中......
这只是我的理解。至于正确与否不做保证。这是mysql正则的"[]"说明:
[ ] 匹配任何单一字符。
[123]定义一组字符,意思是匹配1或2或3.
那么,我理解的字符保存方式是ascii码保存的,这也好理解为什么会有字符集的概念。
SELECT ASCII('大家好'),ASCII('不存在')==>数据结果是:229 228
那这就好理解为什么:select 229 REGEXP '[228]'==>1
select * from shop WHERE desn2 REGEXP "[(联通)(移动)(电信)]";
执行一下,看看输出匹配的都是什么数据最好把 结果发出来,这样才能分析啊
这只是我的理解。至于正确与否不做保证。
这是mysql正则的"[]"说明:
[ ] 匹配任何单一字符。
[123]定义一组字符,意思是匹配1或2或3.
那么,我理解的字符保存方式是ascii码保存的,这也好理解为什么会有字符集的概念。
SELECT ASCII('大家好'),ASCII('不存在')
==>
数据结果是:229 228
那这就好理解为什么:select 229 REGEXP '[228]'==>1
select * from shop WHERE desn2 REGEXP "[(联通)(移动)(电信)]";
执行一下,看看输出匹配的都是什么数据
最好把 结果发出来,这样才能分析啊