2013-08-29 35 views
0

我有一個大型數據庫,其中像Trim和函數我所做的計數單詞並不總是有效(某些記錄仍然有'空格'和多字段的計數爲1 )。帶領我相信我有非ascii空間。在mysql表中找到非ascii空間

我想這個發現違規記錄:

SELECT * FROM TABLE WHERE FIELD NOT REGEXP '[A-Za-z0-9 ;,]' 

換句話說,就是所有字母,數字,我曾經和空格字符。

返回零集。

有沒有更好的方法來做到這一點(即工作)?

回答

0

您的正則表達式將與在集合中有一個或多個字符的行匹配{A-Za-z,0-9,空格,分號,冒號}。

不如專門研究使用POSIX [:cntrl:]字符類非打印字符:

SELECT * FROM TABLE WHERE FIELD REGEXP '[[:cntrl:]]'