在下面的示例中:
WITH X(DATA, ORD)
AS
(
Select '@asdf@' , 01 FROM DUAL UNION
Select '\qw@er\' , 02 FROM DUAL UNION
Select '-zxcv-@' , 03 FROM DUAL UNION
Select '_poiu@' , 04 FROM DUAL
)
SELECT
REGEXP_REPLACE(DATA, '[@\-_]', '', 1)
FROM X
ORDER BY ORD;
;
我得到这个回应:
asdf
qwer
-zxcv-
poiu
但我想替换“@”、“\”、“-”或“_”,前提是它是字符串上的第一个字符,而不是中间。另外,它不适用于“-”字符。