SQL xml转table

创建虚拟表@Tmp

DECLARE @Tmp TABLE(ID INT,Resulr XML)

--插入数据

INSERT INTO @Tmp (ID,Resulr) VALUES (1,‘<root><row><ID>1</ID><score>80</score></row><row><ID>2</ID><score>85</score></row></root>‘)
INSERT INTO @Tmp (ID,Resulr) VALUES (2,‘<root><row><ID>1</ID><score>90</score></row><row><ID>2</ID><score>75</score></row></root>‘)

--原结果集

SELECT * FROM @Tmp AS t

<root>
  <row>
    <ID>1</ID>
    <score>80</score>
  </row>
  <row>
    <ID>2</ID>
    <score>85</score>
  </row>
</root>

--查询结果

SELECT t.ID,a.c1.value(‘ID[1]‘,‘int‘) AS xID
    ,a.c1.value(‘score[1]‘,‘int‘) AS score
FROM @Tmp AS t CROSS APPLY t.Resulr.nodes(‘root/row‘) a (c1)

时间: 2024-08-02 11:01:59

SQL xml转table的相关文章

获得sql server的table的表结构 -- 转到word中

SQL语句: select syscolumns.name,systypes.name,syscolumns.length from syscolumns join sysobjects on syscolumns.id=sysobjects.id and sysobjects.xtype='U' join systypes on systypes.xtype=syscolumns.xtype where sysobjects.name='master_location' order by sy

数据库 sql xml类型 查询及操作

/* sql xml 入门:     --by jinjazz     --http://blog.csdn.net/jinjazz          1.xml:        能认识元素.属性和值          2.xpath:    寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁)                                  语法格式,这些语法可以组合为条件:                 "."表示自己,"..&quo

sql xml 入门

/*sql xml 入门: 1.xml: 能认识元素.属性和值 2.xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"@name"表示按属性查找 "集合[条件]" 表示根据条件取集合的子集,条件可以

Sql Xml

/* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"@name"

SQL Server XML转Table

前言 在SQL Server中有时候我们需要传人一个Table过去,然后可以在存储过程中批量更新,批量的获取相应数据. 但存储过程的参数是固定,所以这里我们可以变通的传人xml类型的参数,然后在存储过程中直接将其转换成我们需要的Table 具体实现 SQL Sever中已经支持XML类型的参数了,这里我们可以用OPENXML 方法来解析xml参数,OPENXML的MSDN. OPENXML( idoc int [ in] , rowpattern nvarchar [ in ] , [ flag

批量数据上传的sql.xml

<!-- User.xml --><?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <!-- namespace命名空间,作用就是对sql进行

【SQL篇章--CREATE TABLE】

[SQL篇章][SQL语句梳理 :--基于MySQL5.6][已梳理:CREATE TABLE][会坚持完善] SQL : 1. Data Definition Statements: 1.3 CREATE TABLE 格式:3种建表语句 1.简单SQL表明结构: CREATE TABLE t7(id INT ,NAME VARCHAR(20), PRIMARY KEY(`id`)) ENGINE=INNODB; 格式: CREATE [TEMPORARY] TABLE [IF NOT EXIS

db2 xml 转 table【XQuery系列】

版本:DB2 Version 9.1 1.创建测试表,初始化数据 create table emp (doc XML); INSERT INTO EMP VALUES ('<dept bldg="101">     <employee id="901">         <name>             <first>John</first>             <last>Doe<

Access建表SQL语句Create Table设置自动增长列的关键字AUTOINCREMENT使用方法

SQL AUTO INCREMENT 字段 uto-increment 会在新记录插入表中时生成一个唯一的数字. AUTO INCREMENT 字段 我们通常希望在每次插入新记录时,自动地创建主键字段的值. 我们可以在表中创建一个 auto-increment 字段. 用于 MySQL 的语法 下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键: CREATE TABLE Persons ( P_Id int