一、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. MPAndroidChart的具体属性方法
  2. linux双小于命令,Linux文本比较命令:diff
  3. C语言回调函数Demo - Win32版
  4. 黄褐斑的处理(转载)
  5. 《疯狂Java讲义精粹》读书笔记2 ------ 多态
  6. redisserver是什么问题_面试官老是问:为什么采用单线程的Redis也会如此之快?...
  7. 将button变成圆形(有弧度)
  8. 用ViewPager实现轮播效果
  9. 服务器网站管理页面打不开解决方法
  10. 未来函数在线检测_嵌入式实时操作系统任务栈溢出检测原理
  11. 蓝牙耳机声音一顿一顿的_尴尬!vivo无线耳机上线两个月价格大跳水,却仍被批不值...
  12. LAFEAT: Piercing Through Adversarial Defenses with Latent Features论文解读
  13. Linux文件误删除恢复操作
  14. android settings过渡动画,华为过渡动画
  15. warn - Attempted to load @next/swc-linux-x64-
  16. 腾讯云域名证书下载_备案域名证书获取
  17. 需求分析——软件需求规格说明书标准目录
  18. 虚幻4 虚拟漫游场景 制作过程
  19. python电影推荐算法_基于Python的电影推荐算法
  20. RabbitMQ中的死信及死信队列详解

热门文章

  1. 仿QQ空间评论随软键盘弹出和收回一个输入布局
  2. C++ STL prev()函数
  3. 非阻塞赋值与阻塞赋值
  4. JavaScript获取鼠标控制权
  5. 漫威电影里的这项技术竟然与大数据息息相关!
  6. faster r-cnn训练、测试、检测(含批量检测图片)
  7. 王者荣耀自动化获取金币/经验周上限 教程
  8. 学生课程管理系统html界面,学生课程管理系统手机微信页面模板
  9. php 可拖曳式,Jquery 快速构建可拖曳的购物车DragDrop
  10. 显示器接口_显示器上的Type-C接口 可能绝大多数人都不知道这么大作用