Oracle SQL:从现有字符串值中删除字符串

时间:2014-07-24 07:43:53

标签: sql oracle

我的字符串存储在oracle数据库中,如下所示

IDS
---
121,223,423,322

我需要的是,当用户输入值时,例如。 121,然后将从现有字符串中删除它。见下面的示例输出

场景1:     鉴于:121     产量:223,423,322

情景2:

Given : 223
Output : 121,423,322

我如何在SQL语句中执行此操作?我正在研究使用REGEXP_SUBSTR,但不知道如何做... :(

请帮助。提前谢谢。

1 个答案:

答案 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;