我使用的是Postgres服务器,但是我对XML数据类型有困难。 关于Postgres和XML的在线信息似乎有限。
我正在尝试将一列XML数据插入一个临时表,其中Location节点包含一个下划线,使用类似于SQL中的LIKE
<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 :(得分:0)
我已经读过需要转义下划线因此[]
方括号在SQL LIKE
语句中没有特殊含义。如果要转义下划线,则需要指定ESCAPE字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%\_%' ESCAPE '\'
如果需要,您还可以使用其他转义字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%#_%' ESCAPE '#'