儲存過程中拆分字串的方法

2021-05-26 09:13:23 字數 1100 閱讀 2016

一、程式片段:

declare @tempstr varchar(100)

set @tempstr='1,3,4,5,447,8,10'

declare @tempi int

select @tempstr=@tempstr+','

select @tempi=charindex(',',@tempstr)

while  @tempi<>0

begin

print left(@tempstr,@tempi-1)

select @tempstr=substring(@tempstr,@tempi+1,len(@tempstr) - @tempi)

select @tempi=charindex(',',@tempstr)

end二、函式:

/*

功能:實現split功能的函式

*/create function fn_split (

@inputstr varchar(8000),

@seprator varchar(10) )

returns @temp table (a varchar(200))

as begin

declare @i int

set @inputstr = rtrim(ltrim(@inputstr))

set @i = charindex(@seprator, @inputstr)

while @i >= 1

begin

insert @temp values(left(@inputstr, @i - 1))

set @inputstr = substring(@inputstr, @i + 1, len(@inputstr) - @i)

set @i = charindex(@seprator, @inputstr)

endif @inputstr <> '/'

insert @temp values(@inputstr)

return

end用法:select * from dbo.f_split(abc:bc:c:d:e,:)

儲存過程中拼接字串

1.將查詢資料插入臨時表 最開始我這麼寫的 declare sql varchar max set sql select into tmp from tb exec sql select from tmp 報錯物件名 tmp 無效 可以改成這樣子 create table tmp declare s...

關於儲存過程中執行字串

關於儲存過程中執行字串 我想在儲存過程中寫 declare sqlstring nvarchar 50 set sqlstring select from admininfo where columnname like condition exec sqlstring 這樣一句話,可是在查詢分析器裡...

Mysql儲存過程中字串分割

今在專案中碰到了要把字串分割,記錄下來,以後可能還用的到 首先想上我的儲存過程 delimiter use bplate drop procedure if exists lp plate insertplateinfo create definer root localhost procedure...