日期:2014-05-17  浏览次数:20473 次

SQL 查询多条XML数据里面的某个节点的值
现在表里面有个字段专门存放xml格式的数据

现在我想把符合条件的数据查找出来  假如xml里面有个A元素值为2

我想问应该怎么操作呢就是把包含xml里某个节点的值符合条件的数据显示出来


------解决方案--------------------
select * from tb
where xmltype.exist('xquery')=1
------解决方案--------------------
DECLARE @x XML
SET @x='
<MasterxRow>
  <ActivityType>2</ActivityType>
  <ProductType>21</ProductType>
  <RefNo>222222222222222222222</RefNo>
  <ContactResult>0</ContactResult>
</MasterxRow>'

IF @x.exist('//ProductType[.=21]')=1
PRINT 'aa'
ELSE
PRINT 'bb'



把条件应用到你的where子句即可。