如何使用pl/sql从下面的数据中删除多个分号

Pro*_*mer 1 sql oracle plsql

我想从此查询数据中删除多个半冒号.我使用修剪,但它不完整.

;ghulam.nabi@yahoo.com.pk;NOCBSS@yahoo.com.pk;;;fo.n2@yahoo.com.pk;;mumtaz.akhta@yahoo.com.pk
Run Code Online (Sandbox Code Playgroud)

Rob*_*ert 7

有两种方法可以做到:

如果您知道要更改多少分号:replacefunction.

select 
replace(';ghulam.nabi@yahoo.com.pk;NOCBSS@yahoo.com.pk;;;fo.n2@yahoo.com.pk;;mumtaz.akhta@yahoo.com.pk',';;',';') S
from dual
Run Code Online (Sandbox Code Playgroud)

SQL Fiddle DEMO

如果要更改两个或更多分号:REGEXP_REPLACEfunction

select 
REGEXP_REPLACE(';ghulam.nabi@yahoo.com.pk;NOCBSS@yahoo.com.pk;;;fo.n2@yahoo.com.pk;;mumtaz.akhta@yahoo.com.pk','(;){2,}',';') as s
from dual
Run Code Online (Sandbox Code Playgroud)

SQL Fiddle DEMO

更多信息