我有一个随机varchar数字/字母表:
1a
101a
101b
101c
11b
14a
14b
14c
14z
108a
108b
我想SELECT * FROM TABLE WHERE VAR = [SPECIFIC NUMBER]/FOLLOWING ANY LETTER
。
例如我正在使用这个错误的方法,它选择以1开头的所有内容:
SELECT *
FROM `table`
WHERE var LIKE '1%'
这给了我所有上面的例子,因为所有的都以1开头。
我希望这只选择:1a
答案 0 :(得分:10)
使用REGEXP
SELECT *
FROM `table`
WHERE var REGEXP '^1[[:alnum:]]'
Regexp解释:
^
用于字符串的开头1
了解您的具体电话号码[[:alnum:]]
代表alfanumeric角色 - 如果您严格要字母,请在此处使用alpha
。 e.g。
SELECT *
FROM `table`
WHERE var REGEXP '^1[[:alpha:]]'
SELECT *
FROM `table`
WHERE var REGEXP '^1[[:alpha:]]'
的 Demo on SQL Fiddle 强>