我想选择列中第一个字符等于特定字符的所有值,第二个字符是数字[0-9],但不能完全获得语法。
select * from table where var LIKE ("r*")
谢谢,
答案 0 :(得分:2)
select * from table where var LIKE "r%"
http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_like
要检查第二个字符数字,您必须使用REGEXP
:
select * from table where var REGEXP "^r[0-9]"
http://dev.mysql.com/doc/refman/5.0/en/regexp.html#operator_regexp
答案 1 :(得分:1)
简单:)
select * from table where var LIKE 'r%'
甚至更好
select * from table where lower(var) LIKE 'r%'
编辑:
select * from table where var REGEXP "^r[0-9]"
答案 2 :(得分:1)
LIKE
识别两个通配符:
_
匹配任何单个字符%
匹配任意数量的字符因此,在这种情况下,您需要使用以下内容:
SELECT * FROM `table` WHERE `var` LIKE 'r%'
编辑:
如果您想允许某个范围内的字符(即数字),那么LIKE
字段中的REGEXP
范围内的SELECT * FROM `table` WHERE `var` REGEXP '^r[0-9]'
范围超出范围:
^
请注意,正则表达式略有不同。它们可以匹配字符串中的任何位置,因此LIKE
告诉它只查看开头,并且没有必要像使用{{1}}那样告诉它“后跟任何东西”。
答案 3 :(得分:0)
请注意语法:
SELECT * FROM table WHERE var LIKE 'r%'
答案 4 :(得分:0)
您需要使用%而不是*
SELECT *
FROM table
WHERE var LIKE "r%"