【问题标题】:Oracle query to select first 3 characters after every underscore [closed]Oracle查询在每个下划线后选择前3个字符[关闭]
【发布时间】: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不会成为我的同事。所以,有益的......

标签: sql oracle plsql


【解决方案1】:
regexp_replace(your_string, '((^|_)[^_]{1,3})[^_]*', '\1')

【讨论】:

  • 非常感谢。正如预期的那样,它对我来说工作正常。 :)
猜你喜欢
  • 1970-01-01
  • 2020-09-15
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
相关资源
最近更新 更多