我有一张这样的桌子:
“状态”列中的值类似于“ 00”,“ 01”,“ OB”在“代码”列中的值如下:
我只是对“状态” =“ 00”的行感兴趣。状态“ 00”仅显示[05] +000569之类的值。这些值应使用以下功能进行修整:
select replace(regexp_substr(Code, '(^|[+])[0-9]+'), '+', '')
如何仅针对“状态” ='00'的行使用此功能构建SELECT SQL?
我明白了。您需要case
表达式:
select (case when status = '00' then replace(regexp_substr(Code, '(^|[+])[0-9]+'), '+', '')
end)