一、stuff函数
(一)说明

STUFF()函数用于删除指定长度的字符,并可以在制定的起点处插入另一组字符。

(二)函数

STUFF ( character_expression , start , length ,character_expression )

参数 说明
character_expression 一个字符数据表达式。character_expression 可以是常量、变量,也可以是字符列或二进制数据列。
start 一个整数值,指定删除和插入的开始位置。如果 start 或 length 为负,则返回空字符串。如果 start 比第一个character_expression 长,则返回空字符串。start 可以是 bigint 类型。
length 一个整数,指定要删除的字符数。如果 length 比第一个 character_expression 长,则最多删除到最后一个character_expression 中的最后一个字符。length 可以是 bigint 类型。
返回类型 如果 character_expression 是受支持的字符数据类型,则返回字符数据。如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据。

==备注 ==:
如果开始位置或长度值是负数,或者如果开始位置大于第一个字符串的长度,将返回空字符串。如果要删除的长度大于第一个字符串的长度,将删除到第一个字符串中的第一个字符。
如果结果值大于返回类型支持的最大值,则产生错误。

(三)示例

以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串。

SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’);

下面是结果集:

aijklmnef

(1 row(s) affected)


二、stuff函数可用于数据库中查询的多行数据合并为一行

假设表work有两个列分别id 和name

id name work

1 张 经理

2 张 开发人员

select name,work=STUFF((SELECT ‘,’+work FROM work t WHERE name=t1.name FOR XML PATH(’’)), 1, 1, ‘’) from work GROUP BY name

得到合并并分组的结果

name work

张 经理,开发人员
分析:

拓展FOR XML PATH(’’)https://www.cnblogs.com/yasuo2/p/6433697.html
1.character_expression:
,经理,开发人员

2.start:1,length:1

3.‘’
这句话的意思就是将”,经理,开发人员“中的第一个逗号给去掉

STUFF()函数将查询的多行数据合并为一行相关推荐

  1. 各数据库SQL查询结果多行数据合并成一行

    SQL查询结果多行数据合并成一行 一.Oracle函数多行数据合并成一行 二.Mysql函数多行数据合并成一行 三.sqlserver函数多行数据合并成一行 四.postgresql函数多行数据合并成 ...

  2. sqlserver函数多行数据合并成一行

    sqlserver函数多行数据合并成一行 SELECTusername,coursename= (STUFF((SELECT ',' + coursenameFROM t_user_courseWHE ...

  3. java 合并到一行_mysql中将多行数据合并成一行数据

    一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...

  4. mysql大量数据合并_mysql中将多行数据合并成一行数据

    一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...

  5. mysql把相同id的多行合并到一行_mysql中将多行数据合并成一行数据

    一个字段可能对应多条数据,用mysql实现将多行数据合并成一行数据 例如:一个活动id(activeId)对应多个模块名(modelName),按照一般的sql语句: 1 SELECT am.acti ...

  6. Oracle多行数据合并成一行

    Oracle多行数据合并成一行 一.listagg 函数------(有长度限制) SELECT listagg(待拼接字段, ',') within group(ORDER BY 待拼接字段) AS ...

  7. python如何输入多行数据合并_Python如何将多行数据合并成一行|python如何实现excle数据合并...

    用Python导出工程文件两个子页里的数据成为两个excel表格,但我想把它合并成个一个excel表格的两个sheet 可以采用一些Excel的模块去实现,比如xlrd.xlwt.openpyxl.x ...

  8. Excel如何将多行数据合并为一行并添加间隔符号

    今天小编跟大家分享一下Excel如何将多行数据合并为一行 1.打开要合并的Excel文件 2.选中要合并的单元格区域 3.然后点击下图选项(Excel工具箱,百度即可了解详细下载安装信息,本文这里就不 ...

  9. linux 将多行数据合并为一行

    文章目录 linux 将多行数据合并为一行 需求说明: 解决方法: tr 命令 xargs 命令 awk命令 linux 将多行数据合并为一行 需求说明: 在一些情况下需要将一个文件中的多行数据合并到 ...

最新文章

  1. 华为手机像素密度排行_2020拍照手机十大排行:华为128分破纪录,苹果无一上榜...
  2. oracle 查看 用户密码,oracle 查看用户密码的修改时间
  3. python interactive 清空内存_Python 内存回收问题
  4. 一个通过数据库镜像实现SPS 2003门户快速备份与恢复的操作手册
  5. SAP UI5 初学者教程之二十四 - 如何使用 OData 数据模型试读版
  6. 代码单元测试:gtest
  7. android-DNS服务找不到
  8. 定义mysql日志_请教:如何查看mysql数据定义操作的日志
  9. window tomcat 端口冲突问题解决
  10. rocketmq存储消息mysql_RocketMQ消息消费以及进度管理解析
  11. 吴恩达神经网络和深度学习-学习笔记-30-相关符号和计算+单层卷积网络+简单卷积网络示例
  12. Android 系统广播
  13. AttributeError: module ‘torch.onnx‘ has no attribute ‘set_training‘
  14. Mycat跨库join实现方式总结
  15. 用友u8不显示服务器名,用友u8提示对数据库服务器名
  16. 树莓派 摄像头 html5,视频演示如何给树莓派安装摄像头模块
  17. 计算机网络结构示意图,常见的五种计算机网络拓扑结构分析
  18. 短时傅里叶变换原理解
  19. Java计算长方体、四棱锥的表面积和体积
  20. 主动降噪技术matlab,主动降噪技术(ANC)的前生今世--原理仿真

热门文章

  1. 单招软件职业技能测试,绵阳职业技术学院2020年单招软件技术专业技能测试方案...
  2. 菱形程序设计以及宏定义的应用
  3. 一文读懂Docker、K8s
  4. Factorization Machines 因式分解机 论文学习笔记
  5. 如何补丁1个文件(linux diff patch)
  6. 教你几招亚马逊促销旺季爆单选品攻略技巧
  7. (附源码)ssm高校社团管理系统 毕业设计 234162
  8. 字节测试实习生面试回顾
  9. 车辆融资租赁合同(主要条款)
  10. “人机大战”简单复盘