使用 LIKE 搜索下划线
Searching for an underscore with LIKE
我正在使用 Postgres 服务器,但在处理 XML 数据类型时遇到困难。
网上关于 Postgres 和 XML 的信息似乎有限。
我正在尝试将一列 XML 数据插入临时 table,其中 Location 节点包含下划线,使用类似于 SQL [=12= 中的 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
临时 table 设置与原始数据 table 相同,我希望只是拆分位置。
我读到需要转义下划线,因此 []
I have read that underscores need to be escaped hence the []
方括号在SQL LIKE
语句中没有特殊含义。如果你想转义下划线你需要指定一个 ESCAPE 字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%\_%' ESCAPE '\'
如果需要,您也可以使用不同的转义字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%#_%' ESCAPE '#'
我正在使用 Postgres 服务器,但在处理 XML 数据类型时遇到困难。 网上关于 Postgres 和 XML 的信息似乎有限。
我正在尝试将一列 XML 数据插入临时 table,其中 Location 节点包含下划线,使用类似于 SQL [=12= 中的 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
临时 table 设置与原始数据 table 相同,我希望只是拆分位置。
我读到需要转义下划线,因此 []
I have read that underscores need to be escaped hence the []
方括号在SQL LIKE
语句中没有特殊含义。如果你想转义下划线你需要指定一个 ESCAPE 字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%\_%' ESCAPE '\'
如果需要,您也可以使用不同的转义字符:
AND CAST(xpath('/Country/Location/text()', penDetails) LIKE '%#_%' ESCAPE '#'