问题描述
嗨,
我试图在结果集中突出显示一个搜索词,以供网页使用。
到目前为止,我可以突出显示整个结果,但不仅仅是匹配一词。
问题在于列数据和输入的搜索词之间的空白不匹配。
(web服务器驱动程序显然不支持case或与。)
我觉得可能有一种方法可以用正则表达式来做到这一点,但我不知道如何。
简单的例子:
我的首选结果
tia
我试图在结果集中突出显示一个搜索词,以供网页使用。
到目前为止,我可以突出显示整个结果,但不仅仅是匹配一词。
问题在于列数据和输入的搜索词之间的空白不匹配。
(web服务器驱动程序显然不支持case或与。)
我觉得可能有一种方法可以用正则表达式来做到这一点,但我不知道如何。
简单的例子:
SQL> select rec, 2 decode(nvl(regexp_count(replace(rec, ' ', ''), search_term, 1, 'x'), 0), 3 0, rec, 4 ''||rec||'') result 5 from (select replace('NW 26', ' ', '') search_term from dual), 6 (select '2704 NW 26TH STREET' rec from dual 7 union all 8 select '2704 NW26TH STREET' rec from dual 9 union all 10 select '2704 NW 27TH STREET' rec from dual 11 ) info 12 where replace(rec, ' ', '') like '%'||search_term||'%' 13 / REC RESULT ------------------- -------------------------------- 2704 NW 26TH STREET 2704 NW 26TH STREET 2704 NW26TH STREET 2704 NW26TH STREET复制
我的首选结果
REC PREFERED RESULT ------------------- -------------------------------- 2704 NW 26TH STREET 2704 NW 26TH STREET 2704 NW26TH STREET 2704 NW26TH STREET复制
tia
专家解答
也许吧?
您可以使用regexp_replace的最终参数忽略空格。将此设置为 'x' 来执行此操作。
但这只会忽略你模式中的空白。所以如果你得到 “NW 26”,“NW26” 在你的来源匹配。但不是 “NW 26”:
因此,如果您可以找到一种安全的方法来删除数据中不需要的空格,那么在这里就可以了。
您可以使用regexp_replace的最终参数忽略空格。将此设置为 'x' 来执行此操作。
但这只会忽略你模式中的空白。所以如果你得到 “NW 26”,“NW26” 在你的来源匹配。但不是 “NW 26”:
select rec, search_term, regexp_replace ( rec , '(' || search_term || ')', '\1', 1, 1, 'x' ) res from ( select 'NW 26' search_term from dual ), ( select '2704 NW 26TH STREET' rec from dual union all select '2704 NW26TH STREET' rec from dual union all select '2704 NW 27TH STREET' rec from dual ) info; REC SEARCH_TERM RES 2704 NW 26TH STREET NW 26 2704 NW 26TH STREET 2704 NW26TH STREET NW 26 2704 NW26TH STREET 2704 NW 27TH STREET NW 26 2704 NW 27TH STREET复制
因此,如果您可以找到一种安全的方法来删除数据中不需要的空格,那么在这里就可以了。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
594次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
560次阅读
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