I have a table with a xml column. Xml is similar to
<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>
Now below query return sl_no column and myxmlcolumn of rows containing xml column having values 'abc' or 'xyz' in node 'user'().Below query i am using similar to IN option of 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
I want similar kind of query which does same work as sql 'NOT IN' does. That is in my case i want rows not having values 'abc' or 'xyz' in node 'user'() in xml column. So please help me on this.