sqlserver 之STUFF的运用
首次写博客,与大家共勉。如果我的内容有错误或者不严谨的地方,欢迎大家提出。
我对SQLserver 中STUFF函数的理解是在sql server中将字符串中的第一个字符串某一部分字符替换成另外一部分,组成新的字符串数据。
STUFF(character_expression,Start,Length,character_expression)
参数说明:
character_expression:字符串数据,或字符串组成的表达式。
Start:开始替换的位置,start 必须大于0,否则返回NULL.
Length,替换长度.若长度为0,则是拼接,不删除任何原字符串中的内容
character_expression:具体替换的内容,若为空的话,就是删除第一个字符串中的指定位置指定长度的数据。
如:
SELECT STUFF('123',1,0,'0')
则返回字符串"0123"
SELECT STUFF('123',1,2,'0')
则返回字符串"03"
SELECT STUFF('1234',2,2,'78')
则返回字符串"1784"
SELECT STUFF((SELECT '|'+DAID+','+DAName FROM TDesignAlter for xml path('')),1,1,'')
将每一行DAID和DAName用逗号连接起来,行与行之间用‘|’隔开,且去掉第一个字符串前面的‘|’
返回结果:000775B3-D035-4D59-8782-4DC4C3EE90F9,“中心项目”的设计变更14|004F92D8-FA39-4F77-80D5-D7169802F5BE,“中心项目”的设计变更1|006250CD-52DD-42C3-AB56-A1B56432B12C,“中心项目”的设计变JB-09|00AB74F1-BA91-4FB2-9EBC-D3521E4EFBDE,“中心项目”的设计变更2|00C45BCF-05BC-4376-AADE-AC2D12D2D032,“中心项目”T3-06
其中for xml path是将返回的结果拼成一行以xml格式展现,for xml path('节点名称'),默认row
STUFF 想要多条数据拼成一行需要配合for xml path('')
亲测有效,环境win10,sqlserver 2012
sqlserver 之STUFF的运用相关推荐
- Mysql,SqlServer,Oracle主键自动增长的设置
Mysql,SqlServer,Oracle主键自动增长的设置 参考文献 http://blog.csdn.net/andyelvis/article/details/2446865 1.把主键定义为 ...
- oracle手工启动,SQLSERVER服务手工启动 批处理文件
不比2000有个 开关的程序 所以上网找了下教程 自己写个批处理 自动启动服务 哇哈哈 突然觉得 只要有网络 语言不是啥大的障碍 写起来都差不多呀 哇哈哈 话说最近又加了个ORACLE的服务 依然偷懒 ...
- SQLServer 系统表
SQLServer 系统表 http://blog.163.com/zangyunling@126/blog/static/1646245052010101641620415/ http://www. ...
- mysql和sqlserver共存_mysql 和sqlserver的 多行合并成一行
mysql 和sqlserver的 多行合并成一行 mysql 多行合并: mysql 内置函数 group_concat(exper SEPARATOR " " ) expe ...
- sqlserver mysql 乱码_SQLServer数据库如何解决中文乱码问题?方法有哪些?
很多使用数据库的人都知道,在安装SQLServer数据库是,如果设置不当就会出现一些中文乱码.主要原因是,很多人在使用默认安装系统时,一般不会考虑到默认排序的规则是拉丁文的排序规则,只是点击下一步,在 ...
- 看懂SqlServer查询计划(转)
转自:http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html 对于SqlServer的优化来说,可能优化查询是很常见的事情.关于数 ...
- sqlserver导入excel的电话号码(身份证)变为科学计数解决方式
如果excel中有一列存的是手机号码或者身份证号码,那么导入到sql中时,会把手机或者身份证当作数字格式对待,因而会以科学记数法的形式存在sqlserver表中,解决方式,先将excel文件另存为文本 ...
- 通过sqlserver日志恢复误删除的数据
通过sqlserver日志恢复误删除的数据 原文:通过sqlserver日志恢复误删除的数据 如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题 ...
- 在SQLserver数据库里设置作业的步骤
在SQLserver数据库里设置作业(对数据库的表定期进行数据清理)的步骤 1.首先,要打开sql server代理的服务,在我的电脑,右键管理的服务打开,SQL Server 代理 (MSSQLSE ...
- 获取SQLServer数据库中所有表
对于获取SQLSERVER数据库中所有表,首先第一步引有SQLDMO.dll 找到文件路径: C:\Program Files\Microsoft SQL Server\80\Tools\ ...
最新文章
- DOCTYPE声明的几种类型
- php 对象存储过程,从php中的存储过程中获取价值
- 二分图最小覆盖的Konig定理及其证明
- 亲测有用的markdown博客生成器
- 1.2 Name That Number
- IntentService使用
- Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库
- MySQL中innodb_page_cleaners详解
- Python练习之 对文件进行创建,然后重命名文件最近进行文件删除
- android.os.log,android.os.Handler和java.util.logging.Handler之间的区别?
- 面试官最爱的 volatile 关键字,这些问题你都搞懂了没?
- learning rate 学习速率
- ext3,ext4,xfs和btrfs文件系统性能对比
- java 异常补偿解决_在java 的异常处理模型中,无论是否发生异常,( )块中的代码都会被执行。...
- ledshowtw2013(LED图文编辑软件)v13.10.8.1
- 案例实践:零基础完成Loadrunner压力测试,十分钟教会你
- laypage ajax,laypage前端分页插件实现ajax异步分页
- Axure RP 介绍
- Material Desion之Shape与shadow原理实现
- RC电路一阶线性微分方程
热门文章
- SBI集团向“Smart Card”钱包制造商投资1500万美元
- 老铁,这年头不会点Git真不行!!!
- Java之父求职被嫌年纪大:程序员只能吃青春饭?
- quill Cannot import ImageResize. Are you sure it was registered?
- java多线程 wait和notify方法
- BZOJ1005 [HNOI2008]明明的烦恼
- Poly-encoders: architectures and pre-trainingstrategies for fast and accurate multi-sentence scorin
- 双一流大学计算机专业月薪拿2000?网友:我裂开
- 语义分析(semantic analysis)概述
- LCD液晶屏接口和显示器接口介绍