我有桌子' A'用列' col'值:
a.b.1.c
a.b.2.c
a.b.26.d
如果我执行此选择它有效:
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9]%';
如果我执行这个,它确实是
:SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9][0-9]*%';
查询的预期结果应为:
a.b.2.c
a.b.26.d
所以,我需要" *"是可选的第二个数字
为什么会这样?我怎样才能使数字大于9?
答案 0 :(得分:3)
不需要。试试这个;
select * from a
WHERE col LIKE 'a.b.[2-9][0-9]%' or col like 'a.b.[2-9]%'
答案 1 :(得分:2)
尝试不使用*
并使用or
运算符
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9]%' or col LIKE 'a.b.[2-9][0-9]%';
答案 2 :(得分:1)
试试这个(没有*):
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9][0-9]%';
答案 3 :(得分:1)
SELECT * FROM A WHERE col LIKE 'a.b.[2-9][0*-9]%';