以下の例では:
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
ただし、「@」、「\」、「-」、または「_」は、文字列の途中ではなく最初の文字である場合にのみ置き換えたいと思います。さらに、「-」文字では機能しません。