代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
sql数据库表字段分割字符串,查找指定位置批量替换方
作者:
liangjw0504
/ 发布于
2015/9/22
/
981
/****** Object: UserDefinedFunction [dbo].[f_split1] Script Date: 12/14/2010 21:45:01 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --测试数据信息 -- 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=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,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/2014 17:19:15 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --更改指定字符串中,指定位置的数据信息。 --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 =@tmpid 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= ''' +@getF+''' where SizeSum='''+@getD+'''' 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
试试其它关键字
分割字符串
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
liangjw0504
贡献的其它代码
(
36
)
.
控制DIV永远固定在页面底部
.
表格点击行高亮显示
.
不提示安全ActiveX直接跳转页面
.
下拉列表框,动态添加删除OPTION
.
批量替换字段中的字符
.
IE提交表单记录历史,点击返回信息仍在
.
根据当前文字选择返回被选中的文字
.
取得MAC地址的脚本
.
压缩解压文件
.
生成固定长度的随机字符和数字
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3