Sql 从bytea列中包含XML数据的表中选择
我有一个PostgreSQL数据库,其中包含一个表,表中的列类型为bytea,名为“data”。 “数据”包含大量XML数据 我希望能够搜索特定的行,其中“data”中有一个XML元素,名为Sql 从bytea列中包含XML数据的表中选择,sql,xml,postgresql,bytearray,Sql,Xml,Postgresql,Bytearray,我有一个PostgreSQL数据库,其中包含一个表,表中的列类型为bytea,名为“data”。 “数据”包含大量XML数据 我希望能够搜索特定的行,其中“data”中有一个XML元素,名为,包含“ID57841”。所以它看起来像ID57841 此外,我还想从该列中输出某些XML元素,例如 我不能在数据库中写入,只能读取。我在谷歌上搜索了很多答案,但找不到任何对我有帮助的东西。有人能帮我吗?您应该能够使用convert\u from()将bytea列“动态”转换为文本列,然后对结果应用xpath
,包含“ID57841”。所以它看起来像ID57841
此外,我还想从该列中输出某些XML元素,例如
我不能在数据库中写入,只能读取。我在谷歌上搜索了很多答案,但找不到任何对我有帮助的东西。有人能帮我吗?您应该能够使用
convert\u from()
将bytea列“动态”转换为文本列,然后对结果应用xpath()函数
比如:
SELECT xpath('/fw:MyPassword/text()', convert_from(bytea_column, 'UTF-8'))
FROM your_table;
选择xpath('/fw:MyPassword/text()',转换自(bytea_列,'UTF-8'))
从你的桌子上;
您很可能需要将名称空间作为第三个参数提供。查看手册了解有关此方面的详细信息:
顺便说一句:要在帖子中插入
SELECT xpath('//fw:MyPassword/text()', CAST(convert_from(bytea_column, 'UTF-8') AS XML))
FROM your_table;
可以使用反勾号字符转义标记