问题描述
- sql存储过程的问题,拆分并加值
-
传入‘1,2,3’怎么拆分并分别加入到表里面 (三条数据)
解决方案
create function func_splitstring
(@str nvarchar(max),@split varchar(10))
returns @t Table (c1 varchar(100))
as
begin
declare @i int
declare @s int
set @i=1
set @s=1
while(@i>0)
begin
set @i=charindex(@split,@str,@s)
if(@i>0)
begin
insert @t(c1) values(substring(@str,@s,@i-@s))
end
else begin
insert @t(c1) values(substring(@str,@s,len(@str)-@s+1))
end
set @s = @i + 1
end
return
end
解决方案二:
http://www.cnblogs.com/eleven11/archive/2010/08/17/1800901.html
解决方案三:
单纯的截取能处理的话用substr()函数
从起始截取放入字段1、从第一个逗号截取放入字段2、从第二个逗号截取放入字段3。
如果不行,这个还要看你实际情况,用楼上的存储过程的思路也可以。
时间: 2024-08-30 05:18:10