sql数据库表字段分割字符串,查找指定位置批量替换方法

sql数据库表字段分割字符串,查找指定位置批量替换方法,第1张

概述sql数据库表字段分割字符串查找指定位置批量替换方法

下面是内存溢出 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数据库表字段分割字符串,查找指定位置批量替换方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存