是否有任何方法可以替换Oracle SQL中的多个特殊字符。我尝试过replace(column_name, '@,?.',' ')
,但无法正常工作
您可以嵌套replace()
的多个调用,但是很快就变得很复杂。
另一方面,regexp_replace()
对此非常有用:
regexp_replace(column_name, '@|,|\?|\.', ' ')
竖线字符(|
)表示或。在正则表达式中,点(.
)和问号(?
)是有意义的字符,因此需要使用反斜杠(\
)进行转义。
您也可以检查translate
功能
translate
类似这样的操作会“删除”除数字,字母和空格(如果您要的是空格)以外的所有内容。
translate('my ,string@with .special chars','@,?.','')