P.B*_*key 23 xml sql xpath sql-server-2008-r2
我想搜索XML值列以查看是否包含字符串.我不知道架构,我想知道字符串是否包含在任何地方.我不知道XPATH是否适用于这种情况.
相当于
Select s.Name, ts.ValueXML from table t (nolock)
join table2 ts (nolock) on t.key_Id = ts.key_Id
join table3 s (nolock) on ts.key_Id=s.key_Id
where s.Name like '%Lab%' and ts.ValueXML like '%PreviewDateRange%'
Run Code Online (Sandbox Code Playgroud)
错误:参数数据类型xml对于类似函数的参数1无效.
相关ts表格栏目
ValueXml (XML(.), null)
我正在搜索的项目应该是一个属性.因此,如果上述情况不可能,则包含该属性的任何内容都将是一个不错的选择.
das*_*ght 49
最简单(但绝对不是最快的执行)方式是在将列传递给nvarchar(max)之前将其转换为like:
cast(ValueXml as nvarchar(max)) like '%PreviewDateRange%'
Run Code Online (Sandbox Code Playgroud)