Ho una tabella con una colonna XML. Xml è simile a
<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>
Ora sotto query return sl_no column e myxmlcolumn di righe contenenti colonna xml con valori 'abc' o 'xyz' nel nodo 'user' (). Sotto la query sto usando un'opzione simile a IN di 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
Voglio un tipo di query simile che funzioni allo stesso modo di sql "NOT IN". Cioè nel mio caso voglio che le righe non abbiano valori 'abc' o 'xyz' nel nodo 'user' () nella colonna xml. Quindi per favore aiutatemi su questo.