IT *_*her 3 xml sql-server sql-server-2008-r2 xquery
我有一个要求,我希望 XML 标记在我的 xml 查询中不区分大小写。
例如:
DECLARE @myTable TABLE ( yourXML XML )
INSERT INTO @myTable SELECT '<z><a><b>1</b><c>2</c></a></z>'
INSERT INTO @myTable SELECT '<Z><A><b>1</b><c>2</c></A></Z>'
SELECT * FROM @myTable WHERE ( [yourXML].exist('for $x in /z/a where ( ($x/b[1]) = 1 ) return $x')>0 )
Run Code Online (Sandbox Code Playgroud)
返回输出为
yourXML
<z><a><b>1</b><c>2</c></a></z>
Run Code Online (Sandbox Code Playgroud)
但我希望在不考虑 XML 标记大小写的情况下显示输出。所以我想要的输出应该是
yourXML
<z><a><b>1</b><c>2</c></a></z>
<Z><A><b>1</b><c>2</c></A></Z>
Run Code Online (Sandbox Code Playgroud)
怎么做?
小智 5
使用带有名称测试的谓词,而不是“简单”节点步骤:
/*[lower-case(local-name(.)) = 'z']/*[lower-case(local-name(.)) = 'a']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4327 次 |
最近记录: |