J'ai une table avec une colonne xml. Xml est similaire à
<Root>
<Row>
<user>abc</user>
<Rowid>1</Rowid>
</Row>
<Row>
<user>vf</user>
<Rowid>2</Rowid>
</Row>
<Row>
<user>ert</user>
<Rowid>3</Rowid>
</Row>
<Maxrowid>3</Maxrowid>
</Root>
Maintenant, sous la requête, retournez la colonne sl_no et myxmlcolumn des lignes contenant une colonne xml ayant des valeurs 'abc' ou 'xyz' dans le nœud 'user' (). En dessous de la requête, j'utilise une option similaire à IN de sql.
SELECT
[mytable].[Sl_no],
[mytable].[myxmlcolumn]
FROM [mydb].dbo.[mytable]
WHERE
[myxmlcolumn].exist('for $x in /Root/Row where (($x/user[fn:upper-case(.)=(''ABC'',''XYZ'')])) return $x') > 0
Je veux un type de requête similaire qui fait le même travail que sql 'NOT IN'. C'est dans mon cas, je veux des lignes n'ayant pas de valeurs 'abc' ou 'xyz' dans le nœud 'user' () dans la colonne xml. Alors s'il vous plaît, aidez-moi à ce sujet.
la source