我如何制作>标志显示在PG版本9.2中?我不希望它显示为& gt;.
SELECT XPATH ('/BehaviorReportingRanges/BehaviorReportingRange/Range/text()',xmlparse(content '<BehaviorReportingRanges> <BehaviorReportingRange> <Range>> 3</Range> </BehaviorReportingRange> </BehaviorReportingRanges>'))
版本9.1中的结果:
{"> 3"} -- desired result
结果版本9.2.3:
"{"> 3"}" -- not desired result
有什么指针吗?
非常感谢 !
解决方法
好吧,如果你
创建语言plpythonu;,然后你可以做以下事情:
创建语言plpythonu;,然后你可以做以下事情:
create or replace function unescape(x varchar) returns varchar language plpythonu as $$ from xml.sax.saxutils import unescape return unescape(x) $$;
然后,您的查询可以变为:
SELECT unescape( concat( ( XPATH ('/BehaviorReportingRanges/BehaviorReportingRange/Range/text()',xmlparse(content '<BehaviorReportingRanges> <BehaviorReportingRange> <Range>> 3</Range> </BehaviorReportingRange> </BehaviorReportingRanges>')) )[1] ) );
您需要添加索引以从xpath的数组结果中选择元素,并且concat将从xml转换为字符串数据类型.