首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用正则表达式在SQL查询中定义范围

使用正则表达式在SQL查询中定义范围
EN

Stack Overflow用户
提问于 2022-12-01 22:15:11
回答 1查看 32关注 0票数 -1

我有以下值

代码语言:javascript
复制
ABCD_AB_1234
ABCD_ABC_2345
ABCD_ABCD_5678

和一个正则表达式来匹配它们。

代码语言:javascript
复制
ABCD_[A-Z]{2-4}_[0-9]{4}

现在,我希望将该正则表达式转换为SQL查询,以便从数据库中获取这些记录。

现在我有以下几句话

代码语言:javascript
复制
where [columnName] like 'ABCD_[A-Z][A-Z]%[_][0-9][0-9][0-9][0-9]%'

问题是,我不能像在正则表达式中那样定义SQL查询中的范围,比如{2-4},我现在所做的是只设置最小范围。

有什么解决办法吗?

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 22:19:15

假设您正在解释全貌,最简单的方法可能是创建三个条件来覆盖您的场景。

代码语言:javascript
复制
where [columnName] like 'ABCD_[A-Z][A-Z][_][0-9][0-9][0-9][0-9]%'
   or [columnName] like 'ABCD_[A-Z][A-Z][A-Z][_][0-9][0-9][0-9][0-9]%'
   or [columnName] like 'ABCD_[A-Z][A-Z][A-Z][A-Z][_][0-9][0-9][0-9][0-9]%'

这不是最优的,但Server没有任何regex支持,所以如果您必须使用SQL来实现它,这是一种方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74648759

复制
相关文章

相似问题

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