正则表达式 – 句子中的最后一个单词:在SQL中(正则表达式可能吗
发布时间:2020-12-14 06:03:57 所属栏目:百科 来源:网络整理
导读:我需要在Oracle SQL(10gR2)中完成此操作.但我想,我宁愿说清楚,任何好的,有效的算法都可以. 给定一行(或句子,包含一个或多个单词,英语),您将如何找到句子的最后一个单词? 这是我在SQL中尝试过的.但是,我希望看到一种有效的方法. select reverse(substr(rever
我需要在Oracle SQL(10gR2)中完成此操作.但我想,我宁愿说清楚,任何好的,有效的算法都可以.
给定一行(或句子,包含一个或多个单词,英语),您将如何找到句子的最后一个单词? 这是我在SQL中尝试过的.但是,我希望看到一种有效的方法. select reverse(substr(reverse(&p_word_in),instr(reverse(&p_word_in),' ') ) ) from dual; 想法是反转字符串,找到第一个出现的空间,检索子字符串并反转字符串.它效率很高吗?是正则表达式吗?我在Oracle 10g R2上.但我不介意看到任何其他编程语言的尝试,如果需要,我不介意编写PL / SQL函数. 更新: Jeffery Kemp给出了一个很好的答案.这非常有效. 回答 SELECT SUBSTR(&sentence,INSTR(&sentence,' ',-1) + 1) FROM dual 解决方法
我认为INSTR / SUBSTR更简单:
WITH q AS (SELECT 'abc def ghi' AS sentence FROM DUAL) SELECT SUBSTR(sentence,INSTR(sentence,-1) + 1) FROM q; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读