如何检索那些以A
或B
或C
开始的角色明星的记录,
我刚试过这个查询
SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) = 'a'
---> display all customer name starting with character a
我添加了另外一个条件,那就是
SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) = 'a' or Left(cus_name, 1) = 'b'
--->It displayed all customer name starting with character a and in some records middle i saw some name starting with b also,
我想要的是,我想拉出记录,这些记录的名称以A
或B
或C
开头,
它也应该按字母顺序排序,
我也试过以下查询。
SELECT * FROM `test_tbl` WHERE Left(cus_name, 1) REGEXP '^[^a-z]+$';
上面的渲染记录只有两个以A
开头的记录,
以上关于按字母顺序分页的问题,
由于
答案 0 :(得分:5)
您可以尝试:
SELECT * FROM `test_tbl` WHERE cus_name REGEXP '^[abc]';
它会列出cus_name
以a
,b
或c
开头的所有行。
使用的正则表达式是^[abc]
:
^
:是起始锚[abc]
匹配a
或b
或c
。它相当于(a|b|c)
您正在使用的正则表达式:^[^a-z]+$
^
是起始锚。^
否定它。所以[^abc]
是任何
三个以外的人物
列出。+
是一个或多个的量词
更多。$
是结束锚。如此有效地说:给我cus_name
包含一个或多个不能是任何小写字母的字母的所有行。
答案 1 :(得分:3)
尝试改为
SELECT * FROM `test_tbl` WHERE cus_name like 'a%'