首页 > 解决方案 > DB2 数据库中 XML 数据类型的选择标准

问题描述

我正在尝试使用 DB2 数据库中 XML 数据类型列中的选择标准来选择数据。

以下查询适用于 oracle

SELECT * from TABLENAME where extractvalue(xmlcolumn,'/row/c2') LIKE '84%'

在下面的 MSSQL 中选择查询有效

SELECT * from TABLENAME where xmlcolumn.value('(/row/c2)[1]', 'VARCHAR(250)') LIKE '84%'

请建议在 DB2 数据库中实现相同的方法

标签: xmldatabasedb2

解决方案


尝试这个:

with tablename (id, xmlcolumn) as (
select *
from table(values 
  (1, xmlparse(document '
<row>
  <c2>84123</c2>
</row>
'))
, (2, xmlparse(document '
<row>
  <c2>85123</c2>
</row>
'))
))
select *
from tablename
where xmlexists('$x/row[fn:starts-with(c2, "84")]' passing xmlcolumn as "x")
;

推荐阅读