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

使用SQL查询进行XML解析

诸葛亮
2023-03-14
问题内容

我正在尝试在SQL Server中解析以下xml,以获取所有3个ID

<Configuration>
  <ID>1000</ID>
  <ID>1001</ID>
  <ID>1002</ID>
</Configuration>

使用查询

SELECT  CONFIGURATION.value('/', 'varchar(200)') as SID FROM SCHEDULE

我得到的结果为100010011002,但我想将结果显示为一列或CSV格式。

任何帮助都将得到应用。


问题答案:

使用MS SQL Server,这将为您提供行。

declare @xml as xml
set @xml = 
'<Configuration>
  <ID>1000</ID>
  <ID>1001</ID>
  <ID>1002</ID>
</Configuration>'

select
    x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID') as x(i)

如果只需要一个值(如本例中所示),则在text()节点上切碎的速度要快得多(三倍)。

select
    x.i.value('.', 'int') as ID
from @xml.nodes('/Configuration/ID/text()') as x(i)


 类似资料:
  • 问题内容: 我正在使用Jesey在Java(JAX-RS)中实现Restful Web Service。我在Tomcat v7.0上运行它,我使用Hibernate将数据映射到数据库(MySQL)。我有一个查询来获取可交付成果的列表: 它给了我一百个可交付成果,但我想在Task表中拥有前三名。感谢您的帮助。如何修改查询? 请注意,这三个可交付成果不应重复。 与@FGreg答案存在冲突。当我使用这些

  • 我正在为spring批处理使用java配置(spring boot)。我有一个员工Id列表,对于每个Id,我需要运行一个查询(如下所示),然后处理数据。 我知道我们可以使用阅读器。setPreparedStatementSetter动态设置上述SQL中的参数。但是,我不确定如何对列表中的每个员工id重复批处理过程。即使我将reader()标记为@StepScope,也只会调用一次reader。(即

  • 使用 Raw SQL 查询,无需使用 ORM 表定义 多数据库,都可直接使用占位符号 ?,自动转换 查询时的参数,支持使用 Model Struct 和 Slice, Array ids := []int{1, 2, 3} p.Raw("SELECT name FROM user WHERE id IN (?, ?, ?)", ids) 创建一个 RawSeter o := orm.NewOrm

  • 问题内容: 我对Doctrine Symfony中SQL查询的翻译有疑问。我想做这样的事情: 在此示例中,我搜索用户99的所有朋友。 My tables : Member: (id, name, visible) Friend: (id, id_member, id_friend, active) 精度:我想使用Symfony传呼机。 一个解法 ?谢谢 ! 问题答案: DQL不支持UNION,但是

  • 问题内容: 我正在使用ORM(ORMlite),并且所有通话都进展顺利,直到出现以下错误。 线程“主”中的异常org.h2.jdbc.JdbcSQLException:SQL语句“ SELECT * FROM”“ STORIES”“ WHERE”“ TITLE”“ =’Deepcut大小写导致’NOT FOLLOWED [*]”“; SQL语句:SELECT * FROM WHERE=’在org.

  • 为了给出backfround,我使用