1、使用指定的字符串分割,返回分割后元素的个数
create function Get_StrLength
(
@str varchar(1024),
@split varchar(10)
)
returns int
as
begin
declare @location int
declare @start int
declare @length int
set @str=ltrim(rtrim(@str))
set @location=charindex(@split,@str)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@str,@start)
set @length=@length+1
end
return @length
end
调用方法:select dbo.Get_StrLength('7,5,6,7,a,f,d',',')
2、按指定符号分割字符串,返回分割后指定索引的第几个元素,像数组一样
create function Get_StrOfIndex
(
@str varchar(1024),
@split varchar(10),
@index int
)
returns varchar(1024)
as
begin
declare @location int
declare @start int
declare @next int
declare @seed int
set @str=ltrim(rtrim(@str))
set @start=1
set @next=1
set @seed=len(@split)
set @location=charindex(@split,@str)
while @location<>0 and @index>@next
begin
set @start=@location+@seed
set @location=charindex(@split,@str,@start)
set @next=@next+1
end
--说明:这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
if @location=0
select @location=len(@str)+1
return substring(@str,@start,@location-@start)
end
调用方法:select dbo.Get_StrOfIndex('8,9,3,3,4,5',',',26)
3、结合上边两个函数,返回分割后的元素
create function f_splitstr
(
@SourceSql varchar(8000),
@strSeprate varchar(100)
)
returns @temp table (F1 varchar(100))
as
begin
declare @ch as varchar(100)
set @SourceSql=@SourceSql+@StrSeprate
while(@SourceSql<>'')
begin
set
@ch=left(@SourceSql,Charindex(',',@SourceSql,1)-1)
insert @temp values(@ch)
set @SourceSql=stuff(@SourceSql,1,charindex(',',@SourceSql,1),'')
end
return
end
调用方法:select * from f_splitstr('1,2,3,4,5,6',',')
相关推荐
自己写了一个function 用于处理拆分时的逻辑运算,性能比网上找的快好几倍, 代码和说明:https://blog.csdn.net/jimyao37/article/details/123522885
2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相匹配的数组的值。参数值为0表示全模糊...
sqlserver中根据某个字符切割字符串函数,比如根据逗号切割字符串,结果返回的是一个表值函数,这个函数返回结果字段包含Id和Value,Id为序号,Value为切割后的值
SQLServer数据库中创建字符串截取功能(Split),调用方法: Split(string,str)
使用sqlserver分割字符串,使用存储过程使可简化参数处理。
SQLServer逗号分隔的字符串转换成表
主要介绍了SQL Server实现split函数分割字符串功能及用法,结合实例形式分析了SQL Server实现split分割字符串的相关技巧与使用方法,需要的朋友可以参考下
用 逗号等分隔符 分开的字符串数量 比如 aaa,bbb,ccc 输出3
sqlserver 实现 行转列 split 分割的函数,具体使用方法写有在文件里。
可根据关键字符将一列分成多行显示,例如 A B 1 1.1.2 拆分成 1 1 1 1 1 2 进行相关的显示
sqlserver 字符串分割表函数(新写法) fn_split 成表函数(带序号)
创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局数据库状态的操作。与系统函数一样,用户定义函数可以从查询中唤醒调用。也可以像存储过程一样,通过 EXECUTE ...
一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,是看字符串中存在多少个分隔符号,然后再加一,是要求的结果(标量值函数) 1 create function Func_StrArrayLength 2 ( 3 @str varchar(1024),...
在查询表时需要对单个字段分割成多个字段非常有用!
因数据库中保存的是以,号分隔的数据,需要在界面上以表格的方式显示出来。特想出以下方法
sql字符串分割,sqlserver 表值函数, 对包含逗号的字符串进行分割并返回表。
SQL SERVER 里面很好用的一个分割函数 喜欢大家喜欢
主要介绍了SQL Server把某个字段的数据用一条语句转换成字符串,本文讲解使用一条语句把字段中的数据查询出来并以指定分割符组成字符串,需要的朋友可以参考下
SQLServer的实用语句,能把一些字符串转换成数据表,传入两个参数:字符串、用于分割的单字节,一般是逗号‘,’