首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server中不工作的查询

SQL Server中不工作的查询
EN

Stack Overflow用户
提问于 2017-07-12 13:34:48
回答 4查看 61关注 0票数 2

我有表'A‘和列'col’的值:

a.b.1.c

a.b.2.c

a.b.26.d

如果我执行此选择,它会工作:

代码语言:javascript
复制
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9]%';

如果我执行这个命令,它不会:

代码语言:javascript
复制
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9][0-9]*%';

查询的预期结果应该是:

a.b.2.c

a.b.26.d

所以,我需要"*“作为可选的第二个号码

为什么会发生这种情况?我如何使它工作允许数字大于9?

这里都是fiddle1 fiddle2

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-12 13:38:23

  • 不需要。试试这个; 从WHERE类“a.b.2-9%”或“col类”“a.b.2-9%”中选择*
票数 3
EN

Stack Overflow用户

发布于 2017-07-12 13:41:59

尝试不使用*,并使用or运算符

代码语言:javascript
复制
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9]%' or col LIKE 'a.b.[2-9][0-9]%';
票数 2
EN

Stack Overflow用户

发布于 2017-07-12 13:38:13

试试这个(没有*):

代码语言:javascript
复制
SELECT
*
FROM
A
WHERE col LIKE 'a.b.[2-9][0-9]%';
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45059231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档