Pela seguinte pergunta: Veja se o elemento XML existe em algum nível no documento com um valor específico
Existe uma solução possível para implementar a like
cláusula dentro exist
?
Por exemplo, eu tenho uma estrutura semelhante de XML como em questão, mas em "tag" : <ContactLName>somevalues;Brandt;anothervalues</ContactLName>
"Brandt" armazenado um pouco diferente. Para encontrar "Btandt" tenho que usar algo como like
, mas não encontrei nada.
Aqui está um exemplo do que estou procurando:
WHERE tmp.[XmlCol].exist(N'/*/ContactLName[text() like "%Brandt%"]') = 1;
Editar(XML):
<event>
<id>23456</id>
<status_in_knowledge_map>active</status_in_knowledge_map>
<custom_elems>
<custom_elem>
<name>f_n84u</name>
<value>6769747818850362088;6622044220776915827;5370802024842340642;6583457400600680603;6724970265512462551;6954452686001110038;6667448592984922570;6390613356250088198;6985638718331227440;5370802050233479119;5370802024842340639;6208275408034531857;6078654416541145539;6585528811993904287;6805915353243667957;6842010739999728536;6964839747571514100;6491764192266708067;6630060828301937234;6964682936739957053;6996382008379854236;5703859111941721724;6780468964682252783;</value>
</custom_elem>
<custom_elem>
<name>f_twxr</name>
<value>7031439420534698908;5667697629116916565;5667697629116916521;7032219545122506576;7032219609944822365;7032219012824308287;7032219395780000352</value>
</custom_elem>
</custom_elems>
<asd>adsf</asd>
Você pode usar fn:contains no predicado.
Eu encontrei uma resposta usando
value()
:A pergunta é provavelmente uma duplicata e tem uma resposta aqui .