我想搜索一个
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%'
ERROR: Argument data type xml is invalid for argument 1 of like
function.
相关ts表列
ValueXml(XML(.),null)
解决方法
最简单(但绝对不是最快执行)的方式是将您的列转换为nvarchar(max),然后再将其传递给:
cast(ValueXml as nvarchar(max)) like '%PreviewDateRange%'