zoukankan      html  css  js  c++  java
  • stuff和for xml path

    作用

    stuff(param1, startIndex, length, param2)
    将param1中自startIndex(SQL中都是从1开始,而非0)起,删除length个字符,然后用param2替换删掉的字符。

    select STUFF('abcdefg',1,0,'1234') --结果为'1234abcdefg'

    for xml path 其实它就是将查询结果集以XML形式展现

    select * from AA for xml path

    <row><id>1</id><name>张三</name><descript>语文</descript></row><row><id>2</id><name>张三</name><descript>数学</descript></row><row><id>3</id><name>张三</name><descript>英语</descript></row><row><id>4</id><name>李四</name><descript>物理</descript></row><row><id>5</id><name>李四</name><descript>化学</descript></row><row><id>6</id><name>李四</name><descript>生物</descript></row>

    select * from AA for xml path('');--去掉每一行的<row></row>

    <id>1</id><name>张三</name><descript>语文</descript><id>2</id><name>张三</name><descript>数学</descript><id>3</id><name>张三</name><descript>英语</descript><id>4</id><name>李四</name><descript>物理</descript><id>5</id><name>李四</name><descript>化学</descript><id>6</id><name>李四</name><descript>生物</descript>

    select ',' + descript from aa for xml path

    <row>,语文</row><row>,数学</row><row>,英语</row><row>,物理</row><row>,化学</row><row>,生物</row>

    select ',' + descript from aa for xml path('hh')

    ,语文,数学,英语,物理,化学,生物

    select stuff((select ',' + descript from aa for xml path('')),1,1,'')

    语文,数学,英语,物理,化学,生物(加stuff是为了去掉第一个逗号)

    select name,STUFF((select ','+ descript from aa q where q.name=AA.name for xml path('')),1,1,'') from AA group by name
    name (无列名)
    李四 物理,化学,生物
    张三 语文,数学,英语

  • 相关阅读:
    android 21 隐式意图启动系统预定义activity
    android 20 Intnet类重要的成员变量
    android 19 activity纵横屏切换的数据保存与恢复
    android 18 Bundle类
    android 17 activity生命周期
    Centos6.4建立本地yum源
    eclipse实现批量修改文件的编码方式
    [系统资源]/proc/meminfo和free输出解释
    监控WebLogic 8.x的解决方案(监控应用服务器系列文章)
    linux网络监控脚本
  • 原文地址:https://www.cnblogs.com/jksun/p/10150391.html
Copyright © 2011-2022 走看看