我将string作为soap服务的输出,string在xml元素中包含单引号'
,如下所示
<Tracking diffgr:id="Tracking311" msdata:rowOrder="310">
<rowId>736729953</rowId>
<awbNo>290349641723</awbNo>
<Date>12 Oct 2022 13:32</Date>
<Activity>OUT FOR DELIVERY</Activity>
<Details>Ha'il</Details>
<Location>Ha'il</Location>
<scanCode>OFD</scanCode>
</Tracking>
我正在尝试替换details和location tag中的单引号'
。如果将上述字符串传递给replace
函数,则不会解析查询,因为它不是完整的字符串。
select REPLACE('<Tracking diffgr:id="Tracking311" msdata:rowOrder="310">
<rowId>736729953</rowId>
<awbNo>290349641723</awbNo>
<Date>12 Oct 2022 13:32</Date>
<Activity>OUT FOR DELIVERY</Activity>
<Details>Ha'il</Details>
<Location>Ha'il</Location>
<scanCode>OFD</scanCode>
</Tracking>',chr(39),'') from dual
上述查询显示简单错误[Error] Execution (45: 41): ORA-00907: missing right parenthesis
1条答案
按热度按时间svmlkihl1#
您的字符串中有一个单引号,因此Oracle将其视为字符串的结尾,这就是您得到错误的原因。
您可以执行以下操作:
如果要在SELECT期间从列中删除引号,只需执行以下操作: