数据库中存在字段类型为xml 的数据,

现举例 xml 字段存储的数据为:

<MortgageInfoShipList>
<ITEMS>
<ITEM>
<ShipName>船名2</ShipName>
<Location>处所2</Location>
<RegisterLocation>船籍港2</RegisterLocation>
<ShipType>类型2</ShipType>
<ReadNum>识别号2</ReadNum>
<RegisterNum>登记号2</RegisterNum>
<CallNum>呼号2</CallNum>
<InsuranceNum>单号2</InsuranceNum>
<InsuranceTime>2016-08-22至2016-08-22</InsuranceTime>
<Weight>12</Weight>
<Age>12</Age>
<Owner>hqq1</Owner>
</ITEM>
<ITEM>
<ShipName>船名1</ShipName>
<Location>处所1</Location>
<RegisterLocation>船籍港1</RegisterLocation>
<ShipType>类型1</ShipType>
<ReadNum>识别号1</ReadNum>
<RegisterNum>登记号1</RegisterNum>
<CallNum>呼号1</CallNum>
<InsuranceNum>单号1</InsuranceNum>
<InsuranceTime>2016-08-22至2016-08-22</InsuranceTime>
<Weight>10</Weight>
<Age>11</Age>
<Owner>hqq</Owner>
</ITEM>
</ITEMS>
</MortgageInfoShipList>

==============要将他显示为列表===================

注意:因为数据库中存储的xml 类型没有版本号和编码格式,所以转换之前要先拼接下  ‘<?xml version="1.0" encoding="gb2312" ?>’

--抵押物信息
DECLARE @idoc int
DECLARE @doc varchar(max)
SET @doc =(SELECT '<?xml version="1.0" encoding="gb2312" ?>'+ RTRIM(CAST(cast(MortgageInfoShip as varchar(8000)) as VARCHAR(max))) FROM CustomerExt WHERE CustCode='BL1608050936214438')
--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- SELECT stmt using OPENXML rowset provider
SELECT ROW_NUMBER()over(order by InsuranceTime) AS Rows,*
FROM OPENXML (@idoc, '/MortgageInfoShipList/ITEMS/ITEM',2)
WITH (
ShipName VARCHAR(20) ,--船名
ShipType VARCHAR(20),--船类型
ReadNum VARCHAR(20) ,--识别号
RegisterNum VARCHAR(20),--注册号
RegisterLocation VARCHAR(30) ,--船籍港
InsuranceTime VARCHAR(30))
EXEC sp_xml_removedocument @idoc

查询后  

xml类型转换列表显示 SQL查询的更多相关文章

  1. Mybatis中的Mapper.xml映射文件sql查询接收多个参数

    ​ 我们都知道,在Mybatis中的Mapper.xml映射文件可以定制动态SQL,在dao层定义的接口中定义的参数传到xml文件中之后,在查询之前mybatis会对其进行动态解析,通常使用#{}接收 ...

  2. SQL Server2005中使用XML-数据类型、查询与修改

    SQL 2005引进了XML数据类型,可以直接将XML当作字符串直接存入该列. 这样可以不需要对它进行XML解析. USE AdventureWorks -- 创建一个送货排程表 CREATE TAB ...

  3. 提高SQL查询效率(SQL优化)

    要提高SQL查询效率where语句条件的先后次序应如何写 http://blog.csdn.net/sforiz/article/details/5345359   我们要做到不但会写SQL,还要做到 ...

  4. Hibernated的sql查询

    记录一下学习Hibernate的心得 1.为什么HIbernate会支持原生态的sql查询? HQL查询语句虽然方便我们查询,但是基于HQL的查询会将查询出来的对象保存到hibernate的缓存当中, ...

  5. 15个初学者必看的基础SQL查询语句

    本文由码农网 – 小峰原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 本文将分享15个初学者必看的基础SQL查询语句,都很基础,但是你不一定都会,所以好好看看吧. 1.创建表和数据插 ...

  6. hibernate将本地SQL查询结果封装成对象

    hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...

  7. SQL查询性能分析

    http://blog.csdn.net/dba_huangzj/article/details/8300784 SQL查询性能的好坏直接影响到整个数据库的价值,对此,必须郑重对待. SQL Serv ...

  8. 提高SQL查询效率的常用方法

    提高SQL查询效率的常用方法 (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driv ...

  9. 13.hibernate的native sql查询(转自xiaoluo501395377)

    hibernate的native sql查询   在我们的hibernate中,除了我们常用的HQL查询以外,还非常好的支持了原生的SQL查询,那么我们既然使用了hibernate,为什么不都采用hi ...

随机推荐

  1. PS基础学习

    1.文件新建 (1).菜单栏新建,快捷键(Ctrl+N) (2).预设的使用--->一般用于网页制作,就选择Web,宽度,高度的单位,网页是像素 (3).分辨率的设置--->电脑网页屏幕分 ...

  2. tp框架设置 mysql数据库的端口号

    <?php return array( //'配置项'=>'配置值' SHOW_PAGE_TRACE=>true,//开启trace信息 'DB_TYPE' => 'mysql ...

  3. nodejs抓取数据一(列表抓取)

    纯属初学...有很多需要改进的地方,请多多指点... 目标是抓取58同城 这个大分类下的列表数据: http://cd.58.com/caishui/?PGTID=14397169455980.924 ...

  4. 怎样编制excel序列目录

    怎样编制序列目录 原帖内容:http://www.excelpx.com/forum.php?mod=viewthread&tid=164190&extra=%26page%3D1&a ...

  5. IOS开发中摇一摇是怎么实现的

    三个方法,分别是开始摇一摇,结束摇一摇,取消摇一摇,我们可以在里面对应的进行事件处理,或者在ui上进行信息展示: 1.开始摇一摇:(在实际app中用需要处理的语句替换NSLog(@"开始摇一 ...

  6. IOS开发-ObjC-NSArray

    OC中数组分不可变数组(NSArray)和可变数组(NSMutableArray). 不可变数组: //------------------------------不可变数组------------- ...

  7. leetcode day8

    [83] Remove Duplicates from Sorted List Given a sorted linked list, delete all duplicates such that ...

  8. python 自动化之路 day 14

    今日内容 http://www.cnblogs.com/wupeiqi/articles/5699254.html 群共享 s15Html课件 1. paramiko模块 https://github ...

  9. Repository 设计模式介绍(转)

    在DDD设计中大家都会使用Repository pattern来获取domain model所需要的数据. 1.什么事Repository? "A Repository mediates b ...

  10. codeforces 755D. PolandBall and Polygon

    D. PolandBall and Polygon time limit per test 4 seconds memory limit per test 256 megabytes input st ...