失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > sql数据库表字段分割字符串 查找指定位置批量替换方法

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

时间:2023-11-01 14:59:59

相关推荐

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

数据库|mysql教程

sql,数据库,字段,分割,字符串,查找,指定,位置,批量,

数据库-mysql教程

apk分发平台源码下载,ubuntu 中更新命令,网络爬虫发展概述,php3.2重启php,seo监测seocnmlzw

/*============================================================================== * *Filename:TB_UpdateList.sql *Description:sql数据库字段分割字符指定位置批量替换,引用f_split *Version:1.0 *Created:.03.12 *Author:liangjw *E-mail:liangjw0

房产经理源码,如何激活vscode的环境,ubuntu参数修改,tomcat界面下优化,爬虫用品货源,php 网址生成二维码,嘉兴SEO快排扣费,discuz企业网站,安居客网站模板lzw

网站源码目录,查ubuntu系统版本,Tomcat服务器图标,小鸟和爬虫,php定时发布代码,一个seo的工作者是怎么赚钱的lzw

/*==============================================================================

*

* Filename: TB_UpdateList.sql

* Description: sql数据库字段分割字符指定位置批量替换,引用 f_split

* Version: 1.0

* Created: .03.12

* Author : liangjw

* E-mail : liangjw0504@

* Q Q : 592568532

* Profile Url:/

* Company: Copyright (C) Create Family Wealth Power By Peter

*

==============================================================================*/

* 备注信息: 上传部分自己总结的常用方法的封装,有不足和不完美之处,希望大家指出来,愿意一起

* 主要研究erp,cms,crm,b2b,oa等系统和网站的开发,欢迎有共同追求和学的IT人员一起学习和交流。

* 学习和讨论有关 mvc ,Ajax ,jquery ,html/css, xml,sqlserver ,wpf,IIS以及服务器的搭建和安全性相关技术的交流和学习。

.CodeEntity .code_pieces ul.piece_anchor{width:25px;position:absolute;top:25px;left:-30px;z-index:1000;}.CodeEntity .code_pieces ul.piece_anchor li{width:25px;background: #efe;margin-bottom:2px;}.CodeEntity .code_pieces ul.piece_anchor li{border-left:3px #40AA63 solid;border-right:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li:hover{border-right:3px #40AA63 solid;border-left:3px #efe solid;}.CodeEntity .code_pieces ul.piece_anchor li a{color: #333;padding: 3px 10px;}.CodeEntity .code_pieces .jump_to_code{visibility:hidden;position:relative;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code{visibility:visible;}.CodeEntity .code_pieces .code_piece:hover .jump_to_code a{text-decoration:none;}.CodeEntity .code_pieces h2 i{float:right;font-style:normal;font-weight:normal;}.CodeEntity .code_pieces h2 i a{font-size:9pt;background: #FFFFFF;color:#00A;padding: 2px 5px;text-decoration:none;}

/****** Object: UserDefinedFunction [dbo].[f_split1] Script Date: 12/14/ 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))--@c表示字符串,@split表示分隔符 returns @t table(id INT,col varchar(20)) ----返回一个表,用这个表来存储分割出来的所有数据 as begin DECLARE @tmpid int=1while(charindex(@split,@c)0)----当分隔符的索引不等于0时begin insert @t(id,col) values (@tmpid,substring(@c,1,charindex(@split,@c)-1))----分割出来的单个字符set @c = stuff(@c,1,charindex(@split,@c),\)----设置分割后的字符串 SET @tmpid=@tmpid+1 end insert @t(id,col) values (@tmpid,@c) ----把分割出来的单个字符插入到表@t表return END---------------------------------------------------------------------------------------------------------------------------------------------------- /****** Object: StoredProcedure [dbo].[TB_UpdateList] Script Date: 03/12/ 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( empdb..##project) is not nullDROP TABLE ##project if OBJECT_ID( empdb..##projectItem) is not nullDROP 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 ##projectWHILE @tmpid IS NOT NULL BEGIN SELECT @SizeSum = SizeSum FROM ##project WHERE id =@tmpid INSERT INTO ##projectItem SELECT * FROM dbo.[f_split1](@SizeSum,|) -- DROP TABLE ##projectItemSELECT @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 > @tmplidEND--去除最后一个字符SET @getF=left(@Ttotallistvalue,len(@Ttotallistvalue)-1)SET @getD=left(@tmpq,len(@tmpq)-1) --更新数据信息SET @sql =update TB_MakeTrimPlan set SizeSum= \ +@getF+\ where SizeSum=\+@getD+\\EXEC(@sql) SELECT @tmpid = MIN(id) FROM dbo.##project WHERE id >@tmpid END --判断临时表数据是否存在,如果存在则删除临时表if OBJECT_ID( empdb..##project) is not nullDROP TABLE ##project if OBJECT_ID( empdb..##projectItem) is not nullDROP TABLE ##projectItem

如果觉得《sql数据库表字段分割字符串 查找指定位置批量替换方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。