Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Xquery(SQLServer2005/2008)是否除了/外部联接?_Sql Server_Xml_Sql Server 2008_Sql Server 2005_Xquery - Fatal编程技术网

Sql server Xquery(SQLServer2005/2008)是否除了/外部联接?

Sql server Xquery(SQLServer2005/2008)是否除了/外部联接?,sql-server,xml,sql-server-2008,sql-server-2005,xquery,Sql Server,Xml,Sql Server 2008,Sql Server 2005,Xquery,我使用的是SQLServer2005/2008XML/xquery。我有以下xml,我想返回中的所有元素,除了中的元素 declare@xxml='1〕 1. 4. 1. 2. 3. 4. ' 选择@x.query('for$x in/all return$x') --如何删除中的元素? 预期结果:23我一直在尝试并找到一个解决方案。可以吗 select @x.query('let $e := /all/x[not(. = /except/x)] return $e') 如果您的节点值是简单

我使用的是SQLServer2005/2008XML/xquery。我有以下xml,我想返回
中的所有元素,除了
中的元素

declare@xxml='1〕
1.
4.
1.
2.
3.
4.
'
选择@x.query('for$x in/all return$x')
--如何删除中的元素?

预期结果:
23

我一直在尝试并找到一个解决方案。可以吗

select @x.query('let $e := /all/x[not(. = /except/x)]
return $e')

如果您的节点值是简单类型,则这是非常好的。如果它是一个节点而不是一个整数,那么您需要做的不仅仅是一般的比较,因为例如
=
的计算结果为
true
,这一点一开始可能会令人惊讶。您不需要
让/返回
-只需执行
/all/x[不(.=/except/x)]