我想选择所有以任何字符开头的行。
SELECT * FROM table WHERE field LIKE '[a-z]%' ;
我想要找到的行类型如下:
ID DATA
993 DEF055900960
994 DEF055900961
995 DEF055900964
996 DEF056102254
997 DEF056131201
我没有尝试过RLIKE和REGEXP,并且还添加了大写A-Z模式。
为什么以下不起作用?
答案 0 :(得分:2)
答案 1 :(得分:0)
请改为尝试:
SELECT * FROM table WHERE field LIKE '[^A-Z]%';
答案 2 :(得分:0)
使用REGEXP
http://dev.mysql.com/doc/refman/5.1/en/regexp.html#operator_regexp
例如,假设我们有这个数据集。
mysql> select * from a;
+------+
| b |
+------+
| abc |
| zxxb |
| kkfy |
| 0002 |
+------+
4 rows in set
我们希望用a-z模式选择所有内容
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
答案 3 :(得分:0)
试试这个。
SELECT `firstname`
FROM `users`
WHERE firstname
REGEXP BINARY '^[A-Z]'