我有表'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?
这里都是fiddle1 fiddle2
发布于 2017-07-12 13:38:23
发布于 2017-07-12 13:41:59
尝试不使用*,并使用or运算符
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9]%' or col LIKE 'a.b.[2-9][0-9]%';发布于 2017-07-12 13:38:13
试试这个(没有*):
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9][0-9]%';https://stackoverflow.com/questions/45059231
复制相似问题