替换特定值的函数

问题描述 投票:0回答:1

我有一张这样的桌子:

  1. 文章
  2. 日期
  3. 状态
  4. 代码

“状态”列中的值类似于“ 00”,“ 01”,“ OB”在“代码”列中的值如下:

  • [05] +000569
  • [[1B] 5555
  • 690KB
  • -859

我只是对“状态” =“ 00”的行感兴趣。状态“ 00”仅显示[05] +000569之类的值。这些值应使用以下功能进行修整:

select replace(regexp_substr(Code, '(^|[+])[0-9]+'), '+', '')

如何仅针对“状态” ='00'的行使用此功能构建SELECT SQL?

sql oracle trim
1个回答
0
投票

我明白了。您需要case表达式:

select (case when status = '00' then replace(regexp_substr(Code, '(^|[+])[0-9]+'), '+', '')
        end)
© www.soinside.com 2019 - 2024. All rights reserved.