84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
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 "[(聯通)(行動)(電信)]";
執行一下,看看輸出匹配的都是什麼數據
最好把 結果發出來,這樣才能分析啊