1. 等值查找XML字段数据

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

  ;WITH XMLNAMESPACES
  ('http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' AS ns)
  SELECT *
  FROM #temp1
  WHERE command.exist('(/ns:Report/ns:DataSets/ns:DataSet/ns:Query/ns:DataSourceName[.="Test1"])')=1
  GO

2. 模糊查找XML字段数据:

  ;WITH XMLNAMESPACES
  ('http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition' AS ns)
  SELECT *
  FROM #temp1
  WHERE command.exist('(/ns:Report/ns:DataSets/ns:DataSet/ns:Query/ns:CommandText[contains(.,"test_sp")])')=1
  GO

3. 解析XML字段中弄个node数据:

  SELECT command.value(' 
       declare namespace ns="http://schemas.microsoft.com/sqlserver/reporting/2016/01/reportdefinition"; 
             (/ns:Report/ns:DataSets/ns:DataSet/ns:Query/ns:CommandText)[1] ', 'varchar(max)') as Result 
  FROM  #temp1

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄