下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。
内存溢出小编现在分享给大家,也给大家做个参考。
/****** Object: UserdefinedFunction [dbo].[f_split1] Script Date: 12/14/2010 21:45:01 ******/SET ANSI_NulLS ONGOSET QUOTED_IDENTIFIER ONGO--测试数据信息-- SELECT * FROM dbo.[f_split1] ('21|80|102|92|38|0|0|0|102|0|0|0|0','|')ALTER function [dbo].[f_split1](@c varchar(2000),@split varchar(2))[email protected]表示字符串,@split表示分隔符 returns @t table(ID INT,col varchar(20)) ----返回一个表,用这个表来存储分割出来的所有数据 as begin DECLARE @tmpID int=1 while(charindex(@split,@c)<>0)----当分隔符的索引不等于0时 begin insert @t(ID,col) values (@tmpID,substring(@c,1,charindex(@split,@c)-1))----分割出来的单个字符 set @c = stuff(@c,@c),'')----设置分割后的字符串 SET @[email protected]+1 end insert @t(ID,@c) ----把分割出来的单个字符插入到表@t表 return END---------------------------------------------------------------------------------------------------------------------------------------------------- /****** Object: StoredProcedure [dbo].[TB_UpdateList] Script Date: 03/12/2014 17:19:15 ******/SET ANSI_NulLS ONGOSET QUOTED_IDENTIFIER ONGO--更改指定字符串中,指定位置的数据信息。 --SELECT * FROM dbo.[f_split1] ('21|80|102|92|38|0|0|0|102|0|0|0|0','|')ALTER PROCEDURE [dbo].[TB_UpdateList] AS --判断临时表数据是否存在,如果存在则删除临时表 if OBJECT_ID('tempdb..##project') is not null DROP table ##project if OBJECT_ID('tempdb..##projectItem') is not null DROP table ##projectItem --获取数据信息 SELECT ID,SizeSum INTO ##project FROM dbo.TB_MakeTrimPlan WHERE Size9>0 --定义变量 DECLARE @tmpID INT,@SizeSum NVARCHAR(500),@tmplID INT,@SizeLSum NVARCHAR(500) DECLARE @sql NVARCHAR(max),@Listvalue NVARCHAR(500),@getF NVARCHAR(500),@getd NVARCHAR(500) --创建临时表 CREATE table ##projectItem( ID INT,col NVARCHAR(50) ) --查询数据信息 SELECT @tmpID = MIN(ID) FROM ##project WHILE @tmpID IS NOT NulL BEGIN SELECT @SizeSum = SizeSum FROM ##project WHERE ID [email protected] INSERT INTO ##projectItem SELECT * FROM dbo.[f_split1](@SizeSum,'|') -- DROP table ##projectItem SELECT @tmplID=MIN(ID) FROM ##projectItem --定义变量 DECLARE @TtotalListvalue NVARCHAR(500),@tmpq NVARCHAR(500) SET @TtotalListvalue='' SET @tmpq='' WHILE @tmplID IS NOT NulL BEGIN --查询数据信息 SELECT @Listvalue =col FROM ##projectItem WHERE ID = @tmplID --取出数据信息 SET @tmpq = @tmpq + @Listvalue+'|' IF @tmplID=9 BEGIN --分割后第九个,可以自定义位数 SET @Listvalue= 0 END --如果是指定位置就去修改数值信息 SET @TtotalListvalue= @TtotalListvalue + @Listvalue+'|' --找出最小值依次循环 SELECT @tmplID = MIN(ID) FROM ##projectItem WHERE ID > @tmplID END --去除最后一个字符 SET @getF=left(@TtotalListvalue,len(@TtotalListvalue)-1) SET @getD=left(@tmpq,len(@tmpq)-1) --更新数据信息 SET @sql ='update TB_MakeTrimPlan set SizeSum= ''' [email protected]+''' where SizeSum='''[email protected]+'''' EXEC(@sql) SELECT @tmpID = MIN(ID) FROM dbo.##project WHERE ID >@tmpID END --判断临时表数据是否存在,如果存在则删除临时表 if OBJECT_ID('tempdb..##project') is not null DROP table ##project if OBJECT_ID('tempdb..##projectItem') is not null DROP table ##projectItem
以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
总结以上是内存溢出为你收集整理的sql数据库表字段分割字符串,查找指定位置批量替换方法全部内容,希望文章能够帮你解决sql数据库表字段分割字符串,查找指定位置批量替换方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)