oracle 我想在列中的字符串不可用时得到NULL如何使用SQL实现这一点?

ix0qys7i  于 2022-12-18  发布在  Oracle
关注(0)|答案(1)|浏览(93)

色谱柱

aaa-xyz-bbb
xyz-mmm-ooo
aaa-ttt-eee

如何在Oracle sql中实现这一点
输出

xyz

xyz

Null
slwdgvem

slwdgvem1#

一个选项是使用instr函数:
样本数据:

SQL> with test (col) as
  2    (select 'aaa-xyz-bbb' from dual union all
  3     select 'xyz-mmm-ooo' from dual union all
  4     select 'aaa-ttt-eee' from dual
  5    )

质询:

6  select col,
  7    case when instr('-' || col || '-', '-xyz-') > 0 then 'xyz'
  8         else 'Null'
  9    end result
 10  from test;

COL         RESULT
----------- ----------
aaa-xyz-bbb xyz
xyz-mmm-ooo xyz
aaa-ttt-eee Null

SQL>

相关问题