MySQL使用通配符选择结果不工作

时间:2014-07-03 06:44:41

标签: php mysql sql select wildcard

我的表格数据如下所示

mysql> SELECT * FROM user_details
    -> ;
+----+----------+------+-----+
| ID | UserName | Type | Age |
+----+----------+------+-----+
|  2 | bandara  |    2 |  26 |
|  3 | panama   |    1 |  12 |
|  4 | sunil    |    2 | 100 |
|  5 | aaa      |    1 |  50 |
+----+----------+------+-----+
4 rows in set (0.00 sec)

iI使用通配符选择从b或p开始的所有recods,但结果集为空,我在这里做错了,请提前帮助,谢谢。

mysql> SELECT * FROM user_details WHERE UserName LIKE  '[bp]%';
Empty set (0.00 sec)

3 个答案:

答案 0 :(得分:1)

尝试删除括号并为bp搜索标记添加个别条件。

SELECT * FROM user_details WHERE UserName LIKE  'b%' OR UserName LIKE 'p%';

答案 1 :(得分:1)

使用这样的代码,

mysql> SELECT * FROM user_details WHERE (UserName LIKE  'b%') OR (UserName LIKE 'p%');

答案 2 :(得分:1)

另一种方法是使用Regular Expressions

SELECT * FROM user_details WHERE UserName REGEXP '^[bp]';