如何从 PL\SQL 中的字符串中选择最后 3 个单词?
Posted
技术标签:
【中文标题】如何从 PL\\SQL 中的字符串中选择最后 3 个单词?【英文标题】:How to select the last 3 words from a string in PL\SQL?如何从 PL\SQL 中的字符串中选择最后 3 个单词? 【发布时间】:2019-03-04 09:18:13 【问题描述】:我有一列包含如下数据:
Eigen Foster 教授,犯罪学家博士
学生娜塔莉波特曼记者
维克多·摩根牙医
瑞士博士 M. Muriel Bayes 记者
我想看到的是:
Eigen Foster 犯罪学家
娜塔莉波特曼记者
维克多·摩根牙医
穆里尔·贝叶斯记者
我知道我应该以某种方式使用 regexp_substr,但我不知道如何使用 $ 作为起始位置。所以一个字符串中可能有不同数量的单词,但我总是需要最后 3 个单词。
【问题讨论】:
【参考方案1】:试试这个正则表达式[^ ]+ [^ ]+ [^ ]+$
SELECT regexp_substr('Professor Dr. Eigen Foster Criminalist', '[^ ]+ [^ ]+ [^ ]+$')FROM dual;
$
- 表示字符串结束
[^ ]+ - 表示至少一个字符但没有空格
【讨论】:
以上是关于如何从 PL\SQL 中的字符串中选择最后 3 个单词?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL 或 PL/SQL 中查找给定字符串(列数据)中的第 5 个字符? [关闭]