您现在的位置是:首页 >

什么叫数据类型 SQL Server2005的XML数据类型之基础篇[4]

火烧 2021-05-25 15:34:00 1072
SQL Server2005的XML数据类型之基础篇[4]    ode 方法   ode 方法用于把一组由一个查询返回的结点转换成一个类似于结果集的表中的一组记录行 该方法的语法如下 ode XQu

SQL Server2005的XML数据类型之基础篇[4]  

什么叫数据类型 SQL Server2005的XML数据类型之基础篇[4]

  nodes方法  nodes方法用于把一组由一个查询返回的结点转换成一个类似于结果集的表中的一组记录行 该方法的语法如下 nodes (XQuery) Table(Column)  这里 XQuery是选择要暴露为一个结果集的结点的表达式 Table和Column用于指定结果集中的名字 注意 你仅可以操作一列并且它的自动类型为XML 例如 为了查询并得到每一个投球手的信息 你可以编写如下的代码 DECLARE @doc xmlSELECT @doc = <Team name= Braves ><Players><Pitcher name= John Smoltz role= Closer >With team since </Pitcher></Players></Team> SELECT Team player query( ) as PitcherFROM @doc nodes( /Team/Players/Pitcher ) Team(player)   这些在单个结果集中的结果包含相应于每一个投球手的元素的行数据 Pitcher <Pitcher name= John Smoltz role= Closer /><Pitcher name= Russ Ortiz role= Starter />( row(s) affected)  注意 上面你使用了query方法把这些结点返回到结果中 其原因在于 一个nodes方法的结果可能仅能为XML方法(查询 修改 删除和更新)或IS NULL和IS NOT NULL语句所参考   一般地 你可以使用nodes方法把XML分解为一组更为有用的结果 例如 你可以使用nodes方法得到运动员的结点 然后使用value方法检索它们以便得到作为标量数据的单个值 SELECT Team player value( /@name nvarchar( ) ) as Name Team player value( /@role nvarchar( ) ) as PlayerRoleFROM @doc nodes( /Team/Players/Pitcher )Team(player)  这会产生如下的结果 Name PlayerRole John Smoltz CloserRuss Ortiz Starter( row(s) affected)

lishixinzhi/Article/program/SQLServer/201311/22484  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码