我有一个要求,比如“死亡,身体管理系统,团队建设EVENT.THE员工在他心脏病发作时参加一个团队建设活动。这个事件是致命的。”,我有另一个查找表来匹配上面字符串.If中的特定单词--这个句子中的任何单词都匹配--那么匹配的单词应该只需要返回其他明智的空阀门。这可以用regexp_substr完成,但不能与模式匹配。
输入字符串:死亡、身体管理系统、团队建设EVENT.THE员工在参加团队建设活动时遭遇了心脏病发作。事件是致命的。
期望值:心,致命--这个心脏和致命的将在查找表中。
提前谢谢。
发布于 2022-02-16 12:58:22
简单的INSTR函数怎么样?
SQL> with string (id, col) as
2 (select 1, 'FATALITY, BODY SYS, TEAM BUILDING EVENT.THE EMPLOYEE WAS PARTICIPATING IN A TEAM BUILDING EVENT WHEN HE SUFFERED A HEART ATTACK. THE EVENT WAS FATAL.' from dual union all
3 select 2, 'THERE IS ONLY HEART IN HERE' from dual),
4 lookup (word) as
5 (select 'HEART' from dual union all
6 select 'FATAL' from dual
7 )
8 select s.id,
9 listagg(l.word, ', ') within group (order by l.word) result
10 from string s join lookup l on instr(s.col, l.word) > 0
11 group by s.id;
ID RESULT
---------- ----------------------------------------
1 FATAL, HEART
2 HEART
SQL>https://stackoverflow.com/questions/71142220
复制相似问题