复制代码代码如下金沙js娱乐场官方网站,server中要分割就会要用到存储过程哦

本文章来讲一下关于sql 分割字符串哦,如何进行sql字符串拆分操作了,二、按指定符号分割字符串,复制代码代码如下

本文章来讲一下关于sql 分割字符串哦,如何进行sql字符串拆分操作了,在mmsql
server中要分割就会要用到存储过程哦,其实的sql一般时实现不了的哈。

一,用临时表作为数组 

本文章来讲一下关于sql 分割字符串哦,如何进行sql字符串拆分操作了,在mmsql
server中要分割就会要用到存储过程哦,其实的sql一般时实现不了的哈。

复制代码代码如下:

用临时表作为数组

create function f_split(@c varchar(2000),@split varchar(2)) 
returns @t table(col varchar(20)) 
as 
begin 

create function 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 go

select * from dbo.f_split(‘dfkd,dfdkdf,dfdkf,dffjk’,’,’)

drop function f_split col ——————– dfkd dfdkdf dfdkf
dffjk

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 
go 

二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。

select * from dbo.f_split(‘dfkd,dfdkdf,dfdkf,dffjk’,’,’) 

create function get_strarraylength(@str varchar(1024),
–要分割的字符串@split varchar(10) –分隔符号)returns
intasbegindeclare @location intdeclare @start intdeclare @length int

set @str=ltrim(rtrim(@str))set @location=charindex(@split,@str)set
@length=1while @location0beginset @start=@location+1set
@location=charindex(@split,@str,@start)set @length=@length+1endreturn
@lengthend调用示例:select
dbo.get_strarraylength(‘78,1,2,3′,’,’)返回值:4

drop function f_split 
col 
——————– 
dfkd 
dfdkdf 
dfdkf 
dffjk 

首页 1 2 末页

(所影响的行数为 4 行) 

二、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。 

复制代码代码如下:

CREATE function Get_StrArrayLength 

@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_StrArrayLength(‘78,1,2,3′,’,’) 
返回值:4