SQL Server 字符串拼接、读取
2024-09-28 18:55:41
一、查询结果使用,字符串拼接
declare @names nvarchar(1000)
declare @ParmDefinition nvarchar(1000)
declare @sqltext nvarchar(500)
set @sqltext=N'Select @names=isnull(@names + '','' , '''' ) + isnull(列名, '''' ) From 表名'
set @ParmDefinition = N'@names nvarchar(1000) OUTPUT';
exec sp_executesql
@sqltext,
@ParmDefinition,
@names=@names OUTPUT
select @names as Res
二、SQL函数 获取“,”字符串长度
Create function [dbo].[GetSplitLength]
(
@String nvarchar(max), --要分割的字符串
@Split nvarchar(10) --分隔符号
)
returns int
as
begin
declare @location int
declare @start int
declare @length int set @String=ltrim(rtrim(@String))
set @location=charindex(@split,@String)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@String,@start)
set @length=@length+1
end
return @length
end
三、SQL函数 遍历“,”拼接的字符串
create function [dbo].[GetSplitOfIndex]
(
@String nvarchar(max), --要分割的字符串
@split nvarchar(10), --分隔符号
@index int --取第几个元素
)
returns nvarchar(1024)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int set @String=ltrim(rtrim(@String))
set @start=1
set @next=1
set @seed=len(@split) set @location=charindex(@split,@String)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@String,@start)
set @next=@next+1
end
if @location =0 select @location =len(@String)+1 return substring(@String,@start,@location-@start)
end
四、FOR XML PATH 使用
SELECT 列名+',' FROM 表名 FOR XML PATH('')
https://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html
五、IN 参数查询
create function [dbo].[f_split](@c varchar(2000),@split varchar(2)) returns @t table(col varchar(20)) as begin while(charindex(@split,@c)<>0) begin insert @t(col) values (substring(@c,1,charindex(@split,@c)-1)) set @c = stuff(@c,1,charindex(@split,@c),'') end insert @t(col) values (@c) return end
这样就可以直接使用IN来查询了 查询语句如下:
select schoolname from school_info where code in(select col from [dbo].[f_split](@area,','))
最新文章
- linux c 笔记-4 工程项目阅读推荐
- _.属性和self.属性,我遇到的那些坑
- Qt 环境下的mapx控件-------2
- (转)Android消息处理机制(Handler、Looper、MessageQueue与Message)
- 《第一本docker书》第4章 使用docker镜像和仓库 读书笔记
- Hierarchical Token Bucket
- svn: Can&#39;t convert string from &#39;UTF-8&#39; to native encoding 的解决办法
- 如何清除win7开机密码
- C语言之Static
- iOS中解析json多种方法
- python手记(11)
- sqlserver日志文件过大的处理方法
- Zencart批量删除无图片产品
- 【java】对象变成垃圾被垃圾回收器gc收回前执行的操作:Object类的protected void finalize() throws Throwable
- java unicode和字符串间的转换
- UML顺序图知识点介绍(Sequence Diagram)
- mvc 遇到的问题
- Unity3d-Particle System系统的学习(二)
- centos7 开启ftp服务
- [JS&;Jquery]实现页面表格中相同内容的行或列合并
热门文章
- Python之路(第十八篇)shutil 模块、zipfile模块、configparser模块
- Python之路(第十三篇)time模块、random模块、string模块、验证码练习
- 原创:Spring整合junit测试框架(简易教程 基于myeclipse,不需要麻烦的导包)
- mysql8.0.4以后修改密码方式变更
- mysql如何查看自己数据库文件所在的位置
- 在vue中的点击事件怎么获取当前点击的元素
- javascript对象bind()方法兼容处理
- SQL判断如果一列值为null则取另一列值代替 isnull()
- [ASP.NET]static变量和viewstate的使用方法
- 使用EventLog Analyzer监控、管理及分析日志