我的字符串存储在oracle数据库中,如下所示
IDS
---
121,223,423,322
我需要的是,当用户输入值时,例如。 121
,然后将从现有字符串中删除它。见下面的示例输出
场景1: 鉴于:121 产量:223,423,322
情景2:
Given : 223
Output : 121,423,322
我如何在SQL语句中执行此操作?我正在研究使用REGEXP_SUBSTR,但不知道如何做... :(
请帮助。提前谢谢。
答案 0 :(得分:2)
您可以使用表达式
replace(regexp_replace (column, '(,<value>$)|(^<value>,)|(^<value>$)', ''), ',<value>,', ',')
例如,对于值121:
select
replace(regexp_replace ('1121,121,223,423,322', '(,121$)|(^121,)|(^121$)', ''), ',121,', ',')
from dual;