问题描述
嗨,汤姆,
需要你的帮助!
请找到LiveSQL链接
提前谢谢!
我有一个仅带有s_desc列的表st_exp,用户可以选择按s_desc条件进行搜索。
场景: 用户可以在同一单个输入字段中输入类似和不喜欢的文本critiria。
我使用REGEXP_LIKE从查询中搜索。
以下示例数据 :( 包含所有记录)
场景1:
用户想要检索包含 “D8” 和 “存储” 的记录
查询1 :( 预期结果)
场景2:
用户想要检索包含 (如) 'd8' 和 'Store' 但不包含 (不像) 'Tester' 和 'QA' 的记录
查询2 :( 未预期结果)
预期有3条记录,但结果仅显示2条记录。
但是查询未检索到值 “NOK 8.0.1 D81SupiriorCoachStorePUJI”。
定义:
[^] 用于指定一个不匹配的列表,您试图匹配除列表中的字符以外的任何字符。
请指导我以获得进一步的准确结果。
谢谢和问候
可汗
印度
需要你的帮助!
请找到LiveSQL链接
提前谢谢!
我有一个仅带有s_desc列的表st_exp,用户可以选择按s_desc条件进行搜索。
场景: 用户可以在同一单个输入字段中输入类似和不喜欢的文本critiria。
我使用REGEXP_LIKE从查询中搜索。
以下示例数据 :( 包含所有记录)
select * from test_exp S_DESC ------ NOK D8StorePQRST NOK 8.0.1 D81SupiriorCoachStorePUJI NOK D81CoachStorePUJI NOK D81TesterCoachStorePUJI NOK D81RacketPUJI D81QACoachStorePUJI NOK D81QAPatchPUJI复制
场景1:
用户想要检索包含 “D8” 和 “存储” 的记录
查询1 :( 预期结果)
select s_desc from test_exp where REGEXP_LIKE(s_desc,'[D81]*(Store)') S_DESC ------- NOK D8StorePQRST NOK 8.0.1 D81SupiriorCoachStorePUJI NOK D81CoachStorePUJI NOK D81TesterCoachStorePUJI D81QACoachStorePUJI复制
场景2:
用户想要检索包含 (如) 'd8' 和 'Store' 但不包含 (不像) 'Tester' 和 'QA' 的记录
查询2 :( 未预期结果)
select s_desc from test_exp where REGEXP_LIKE(s_desc,'[D81][^(Tester|QA)]*(Store)') S_DESC -------- NOK D8StorePQRST NOK D81CoachStorePUJI复制
预期有3条记录,但结果仅显示2条记录。
但是查询未检索到值 “NOK 8.0.1 D81SupiriorCoachStorePUJI”。
定义:
[^] 用于指定一个不匹配的列表,您试图匹配除列表中的字符以外的任何字符。
请指导我以获得进一步的准确结果。
谢谢和问候
可汗
印度
专家解答
正则表达式没有做你认为它在做的...
表示匹配一个不在列表中的字符零次或多次。不是零个或多个精确字符串 “Tester” 或 “QA” 的实例。
类似地:
表示匹配D或8或1。
所以:
你有:
在第一个8 (第5个字符,在 “NOK 8” 的那个) 开始比赛。
然后匹配列表中没有的任何字符
(测试 | 质量保证)
这将使您达到:
8.0.1 d81sufi
“r” 在列表中。因此,正则表达式移动以查找下一个组,即字符串 “存储”。
"r" <> "商店" => 不匹配!
任何特定的原因,你需要正则表达式而不是标准 (不) 像?
[^(Tester|QA)]*复制
表示匹配一个不在列表中的字符零次或多次。不是零个或多个精确字符串 “Tester” 或 “QA” 的实例。
类似地:
[D81]复制
表示匹配D或8或1。
所以:
NOK 8.0.1 d81sufiriorCoachStorePUJI复制
你有:
在第一个8 (第5个字符,在 “NOK 8” 的那个) 开始比赛。
然后匹配列表中没有的任何字符
(测试 | 质量保证)
这将使您达到:
8.0.1 d81sufi
“r” 在列表中。因此,正则表达式移动以查找下一个组,即字符串 “存储”。
"r" <> "商店" => 不匹配!
任何特定的原因,你需要正则表达式而不是标准 (不) 像?
select s_desc from test_exp where s_desc like '%D8%Store%' and s_desc not like '%Tester%' and s_desc not like '%QA%'; S_DESC NOK 8.0.1 d81sufiriorCoachStorePUJI NOK D81CoachStorePUJI NOK D8StorePQRST复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
595次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
562次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
482次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
472次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
457次阅读
2025-04-22 00:20:37
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
430次阅读
2025-04-22 00:13:51
Oracle 19c RAC更换IP实战,运维必看!
szrsu
430次阅读
2025-04-08 23:57:08
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
414次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
358次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
356次阅读
2025-04-15 14:48:05