【问题标题】:finding way to Oracle Query SUBSTR and INSTR寻找 Oracle 查询 SUBSTR 和 INSTR 的方法
【发布时间】:2020-05-12 10:52:15
【问题描述】:
Table Name: DUMMY
Table Data : BGX~UGREP~NSP
Database: Oracle
Column Name: Skills
Expected Output: UGREP

我想在 Symbol (~) 之间获取数据。我正在写下面的查询。但它没有给出预期的输出

查询:

select rtrim((SUBSTR(Skill ,INSTR(Skill ,'~')+1)),'~NSP') from DUMMY;

实际输出:UGREUGREP 中缺少P

有人可以建议查询有什么问题或建议正确的查询来获取。

请注意:每次输入可能不同,但符号会一直存在。我想要符号之间的数据。所以建议通用查询。

【问题讨论】:

    标签: sql oracle substring


    【解决方案1】:

    子串

    • ~第一次出现
    • 第二次出现的位置长度减去第一次出现的位置

    换句话说:

    SQL> with dummy (skills) as
      2    (select 'BGX~UGREP~NSP' from dual)
      3  select substr(skills,
      4                instr(skills, '~', 1, 1) + 1,
      5                instr(skills, '~', 1, 2) - instr(skills, '~', 1, 1) - 1
      6               ) result
      7  from dummy;
    
    RESULT
    ----------
    UGREP
    
    SQL>
    

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      • 2018-09-25
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多