Oracle查询在每个下划线后选择前3个字符[关闭]
Posted
技术标签:
【中文标题】Oracle查询在每个下划线后选择前3个字符[关闭]【英文标题】:Oracle query to select first 3 characters after every underscore [closed] 【发布时间】:2013-07-23 17:11:48 【问题描述】:我需要编写 oracle sql 查询,以便在每个下划线字符之后仅从字符串中选择前 3 个字符。
例如:
'oracle_mydatabase_table'
- 原始字符串,
'ora_myd_tab'
- 需要的输出。
谁能帮我编写 sql 查询或 pl/sql 程序来做到这一点?
【问题讨论】:
你必须先尽力而为。 不,等一下——根据经验,有人会给你 15 分的代码。当然,你自己也不会学会寻找新知识的方法。 @DavidAldridge - 是的,OP 很懒惰。但他的问题很有趣。 @DavidAldridge - 我认为回答这样的问题是有益的。通过提供答案而不是学习如何在他/她/它自己的 OP 上做这件事,除了如何成为一只鹦鹉之外,什么都学不到。由于不学习,OP 课程失败。由于课程失败,OP不会成为我的同事。所以,有益的...... 【参考方案1】:regexp_replace(your_string, '((^|_)[^_]1,3)[^_]*', '\1')
【讨论】:
非常感谢。正如预期的那样,它对我来说工作正常。 :)以上是关于Oracle查询在每个下划线后选择前3个字符[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
选择 mysql 查询以获取前 100 个数字(1-100)[关闭]