【问题标题】:how to escape special character in a string in oracle(pl/sql)如何在 oracle(pl/sql) 中转义字符串中的特殊字符
【发布时间】:2015-07-06 08:46:46
【问题描述】:

我在 oracle DB (Pl/sql) 方面没有编程经验我需要编写一个函数来转义所有这些字符 "(双引号):(冒号)\(反斜杠)给定的字符串。

我想我可以使用替换功能将所有这些字符" 替换为\"\\\:\:,但我不知道一种有效的方法它。

【问题讨论】:

    标签: regex oracle replace plsql oracle10g


    【解决方案1】:

    你可以使用REGEXP_REPLACE:

    SELECT REGEXP_REPLACE ( '\' || ':"', '([\:"])', '\\\1', 1, 0) from dual;
    

    返回:

    \\\:\"
    

    第一个参数'\' || ':"' 是要转义的输入字符串的代表。第二个参数'([\:"])' 是一个正则表达式,匹配你要转义的字符。第三个参数'\\\1' 是替换字符串:反斜杠和捕获组的内容。第四个参数1是字符串中开始替换的起始点; Oracle 将字符串中的第一个字符计为第一个字符。第五个参数是要替换您的模式的哪个出现; 0 表示全部替换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2011-05-11
      • 2011-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多