---返回字串按照指定分隔符分割後的陣列的長度
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
endreturn @length
end ;
----按照指定的分隔符分割字串為陣列形式,然後獲取指定元素。注: 元素個數從1開始
create function get_strarraystrofindex (
@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
endif @location =0 select @location =len(@str)+1
--這兒存在兩種情況:1、字串不存在分隔符號 2、字串中存在分隔符號,跳出while迴圈後,@location為0,那預設為字串後邊有乙個分隔符號。
return substring(@str,@start,@location-@start)
end ;
---測試。注意:p_get_httprequestdata 為sqlserver獲取http請求資料的儲存過程,在sqlserver處理http請求日誌中有講述。
Sqlserver 字串分割
字串分割,返回字串按指定分割符分割後長度 使用 select dbo.fun get strarraylength 1,2,3,4 create function dbo fun get strarraylength str varchar 1024 要分割的字串 split varchar 10 ...
SQL SERVER分割字串
1 使用指定的字串分割,返回分割後元素的個數 create function get strlength str varchar 1024 split varchar 10 returns int asbegin declare location int declare start int decl...
sqlserver 字串分割函式
create function split charstring nvarchar 4000 字串 separator char 1 分割符 returns tb temp table string nvarchar 4000 asbegin declare beginindex int,separ...