[英]Pattern for LIKE in SQL Statement
我想選擇所有以任何字符開頭的行。
SELECT * FROM table WHERE field LIKE '[a-z]%' ;
我要查找的行類型如下所示:
ID DATA
993 DEF055900960
994 DEF055900961
995 DEF055900964
996 DEF056102254
997 DEF056131201
我嘗試RLIKE和REGEXP失敗,並且還為模式添加了大寫字母AZ。
為什么以下各項不起作用?
嘗試以下方法:
SELECT * FROM table WHERE field LIKE '[^A-Z]%';
使用REGEXP
http://dev.mysql.com/doc/refman/5.1/zh-CN/regexp.html#operator_regexp
例如,假設我們有此數據集。
mysql> select * from a;
+------+
| b |
+------+
| abc |
| zxxb |
| kkfy |
| 0002 |
+------+
4 rows in set
我們想用az模式選擇所有內容
mysql> SELECT * FROM a WHERE b REGEXP BINARY '[a-z]';
+------+
| b |
+------+
| abc |
| zxxb |
| kkfy |
+------+
3 rows in set
使用正則表達式[a-zA-Z0-9]
mysql> SELECT * FROM a WHERE b REGEXP BINARY '[a-zA-Z0-9]';
+--------------+
| b |
+--------------+
| DEF055900960 |
| DEF055900961 |
| DEF055900964 |
| DEF056102254 |
| DEF056131201 |
+--------------+
5 rows in set
嘗試這個。
SELECT `firstname`
FROM `users`
WHERE firstname
REGEXP BINARY '^[A-Z]'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.