当前位置: 首页 > 面试题库 >

SQL Server-XML的XQuery

澹台硕
2023-03-14
问题内容

与其他类似文章一样,我需要从表中的Xml列应用条件中检索任何行,例如,假设您有一个类似xml的列:

<DynamicProfile xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WinTest">
  <AllData xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>One</d2p1:Key>
      <d2p1:Value>1</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
    <d2p1:KeyValueOfstringstring>
      <d2p1:Key>Two</d2p1:Key>
      <d2p1:Value>2</d2p1:Value>
    </d2p1:KeyValueOfstringstring>
  </AllData>
</DynamicProfile>

我的查询将能够返回节点值<d2p1:Key> = 'some key value'和节点值所有的行<d2p1Value = 'some value value'

想象一下,就像一个动态表,其中KEY节点代表列名,Value节点代表列的值。

由于键和值节点不是顺序的,因此以下查询不起作用:

select * from MyTable where
MyXmlField.exist('//d2p1:Key[.="One"]') = 1
AND MyXmlField.exist('//d2p1:Value[.="1"]') = 1

问题答案:

而不是将//d2p1:key[.="One"]//d2p1:Value[.="1"]作为两个单独的搜索来查找,而是执行一次一次查找两者的单个查询,如下所示:

//d2p1:KeyValueOfstringstring[./d2p1:Key="One"][./d2p1:Value=1]



 类似资料:
  • 问题内容: 我正在尝试在SQLServer中聚合“ STRING”字段。我想找到与Oracle中相同的函数LISTAGG。 您知道如何执行相同的功能或其他方法吗? 例如, 我希望这个查询的结果是 问题答案: 从SQL Server 2017开始,该功能可用,从而大大简化了逻辑: 在SQL Server中,您可以用来获取结果:

  • node-sqlserver 是微软官方发布的 SQL Server 的 Node.js 的驱动程序。可允许 Windows 上运行的 Node.js 程序访问 SQL Server 和 Windows Azure SQL 数据库。 该项目托管在 Github 上。

  • sqlserver manager 是一个多功能sqlserver图形管理界面,支持自定义导入导出,自动扫描服务器,数据库。  

  • 主要内容:第1节. 查询数据,第2节. 对数据进行排序,第3节. 限制返回行数,第4节. 过滤数据,第5节. 连接表,第6节. 分组数据,第7节. 子查询,第8节. 集合运算符,第9节. 修改数据,第10节. 数据定义,第11节. SQL Server数据类型,第12节. 约束MS SQL Server是Microsoft开发的关系数据库管理系统(RDBMS)。 本产品专为存储其他应用程序所需的检索数据的基本功能而构建。 它可以在同一台计算机上运行,也可以在网络上运行。 本教程介绍了SQL Se

  • 我在Wamp上使用symfony2,它连接在SQL服务器DB上。 当我开始与项目 一切都很好,速度很慢,但我的网站在127.0上还可以。0.1:8000,Doctrine2连接到sql server数据库时没有问题。 我的问题:当我localhost/MyProject/web/app_php.php(意味着我使用wamp而不是server: run)。Symfony抛出一个异常: PDOExc0

  • 官方的SQLServer数据库的JDBC驱动程序 驱动类名:com.microsoft.sqlserver.jdbc.SQLServerDriver URL格式:jdbc:sqlserver://[serverName[\instanceName][:portNumber]][;property=value[;property=value]]

  • 如果你不想安装庞大的MSSQL IDE,或者不方便安装,你可以使用本软件集成到你的项目中,做一些简单的数据库管理工作。本软件将会持续更新,持续开发新的功能,以便满足更多需求。由于上传源码文件数量限制,源码已打包为DBOA.rar。 基于ASP.NET+C#+XML开发管理SQLSERVER数据库工具,B/S模式更适合无缝集成到任何使用IIS的B/S项目中。为您提供远程管理SQLSERVER数据库轻

  • 克隆或者下载源码 在源码里面有一个 Test Sqlserver的项目 修改成你的sqlserver的db链接字符串就可以了,其他的参数你看需要自行修改 F5跑起来玩玩吧