84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
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 "[(联通)(移动)(电信)]";
执行一下,看看输出匹配的都是什么数据
最好把 结果发出来,这样才能分析啊