Tôi có một bảng với một cột xml. Xml tương tự như
<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>
Bây giờ bên dưới truy vấn trả về cột sl_no và myxmlcolumn của các hàng chứa cột xml có giá trị 'abc' hoặc 'xyz' trong nút 'user' (). Bên dưới truy vấn tôi đang sử dụng tương tự tùy chọn IN của 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
Tôi muốn loại truy vấn tương tự hoạt động tương tự như sql 'NOT IN'. Đó là trong trường hợp của tôi, tôi muốn các hàng không có giá trị 'abc' hoặc 'xyz' trong nút 'user' () trong cột xml. Vì vậy, xin vui lòng giúp tôi về điều này.