我想選擇使用包含在MySQL中只包含字母數字字符的所有行字母數字字符的行:僅選擇包含在MySQL
SELECT * FROM table WHERE column REGEXP '[A-Za-z0-9]';
然而,它的返回任先生所有行,他們包含非字母數字字符。
我想選擇使用包含在MySQL中只包含字母數字字符的所有行字母數字字符的行:僅選擇包含在MySQL
SELECT * FROM table WHERE column REGEXP '[A-Za-z0-9]';
然而,它的返回任先生所有行,他們包含非字母數字字符。
試試這個代碼:
SELECT * FROM table WHERE column REGEXP '^[A-Za-z0-9]+$'
這可以確保所有字符匹配。
試試這個:
REGEXP '^[a-z0-9]+$'
由於正則表達式不區分除了二進制領域的敏感。
您的語句匹配任何位置包含字母或數字的字符串,即使它包含其他非字母數字字符。試試這個:
SELECT * FROM table WHERE column REGEXP '^[A-Za-z0-9]+$';
^
和$
需要整個字符串相匹配,而不是隻是它的任何部分,並+
查找1個以上 alphanumberic字符。
你也可以使用一個命名字符類,如果你喜歡:
SELECT * FROM table WHERE column REGEXP '^[[:alnum:]]+$';
更改REGEXP
到Like
SELECT * FROM table_name WHERE column_name like '%[^a-zA-Z0-9]%'
這一個正常工作
也有這樣的:
select m from table where not regexp_like(m, '^[0-9]\d+$')
它選擇包含您想要的列中的字符的行(在示例中爲m,但您可以更改)。
大多數組合在Oracle平臺上無法正常工作,但這確實如此。分享以備將來參考。
試試這個
select count(*) from table where cast(col as double) is null;
如果'col'是'ABC'',這會如何工作? – ebyrob 2016-11-09 16:08:41
歐凱它做得好,但它不顯示空間包括數據字段。如何通過此查詢獲取包括數據字段的空間。 – 2013-07-27 07:14:38
@ Md.MahabuburRahman:'9'和']'之間的所有空白:''^ [A-Za-z0-9] + $'' – 2013-07-29 07:40:10
是否是正則表達式有效?我記得在最後一個字符上用isnumeric做這個。這很有趣。從BIRT \t其中ISNUMERIC(RIGHT(名稱,1))= 1 – chungtinhlakho 2016-06-03 01:18:52