2017-02-20 93 views
0

我正在使用Postgres服务器,并且遇到了XML数据类型的困难。 网上关于Postgres和XML的信息似乎有限。用LIKE搜索下划线

我试图插入XML数据的列到其中的位置节点包含下划线,使用类似的东西在SQL

喜欢
<Country> 
    <ID>813</ID> 
    <Location>IB_202</Loction> 
</Country> 

我使用这个SQL查询来获取数据的临时表

SELECT CAST(xpath('/Country/Location/text()', penDetails) as text[]) 
FROM "dbSystemCheck".tbl_countryitems 
WHERE personId = 314 
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%[_]%' 
LIMIT 10 

临时表的设置与原始数据表相同,我只是想分割位置。

我已阅读,下划线必须因此逃过[]

回答

0

我已阅读,下划线必须因此逃过[]

的方括号在没有特殊含义一个SQL LIKE声明。如果你想逃避下划线,你需要指定一个转义字符:

AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%\_%' ESCAPE '\' 

,如果你想的话也可以使用不同的转义字符:

AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%#_%' ESCAPE '#'