sql字符串截取
来源:互联网 发布:外国人评价道德经知乎 编辑:程序博客网 时间:2024/05/21 15:49
//分割字符串
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Get_StrArrayLength]') and xtype in (N'FN', N'IF', N'TF')) begin drop function [dbo].[Get_StrArrayLength] endGOCREATE function [dbo].[Get_StrArrayLength]( @str varchar(1024), --要分割的字符串 @split varchar(10) --分隔符号 ) returns int as begin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end return @length end
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Get_StrArrayStrOfIndex]') and xtype in (N'FN', N'IF', N'TF')) begin drop function [dbo].[Get_StrArrayStrOfIndex] endGOCREATE function [dbo].[Get_StrArrayStrOfIndex]( @str varchar(1024), --要分割的字符串 @split varchar(10), --分隔符号 @index int --取第几个元素)returns varchar(1024)asbegin declare @location int declare @start int declare @next int declare @seed int set @str=ltrim(rtrim(@str)) set @start=1 set @next=1 set @seed=len(@split) set @location=charindex(@split,@str) while @location<>0 and @index>@next begin set @start=@location+@seed set @location=charindex(@split,@str,@start) set @next=@next+1 end if @location =0 select @location =len(@str)+1 --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。 return substring(@str,@start,@location-@start)endgo
declare @id int,@periodRecord varchar(1024) set @id = (select top(1) id from @Ids) --用货记录 [格式:'1,53,55,88'] set @periodRecord = (select PeriodRecord from customer where Id = @id) --调用自定义方法,将记录拆分存放到临时表 declare @next int declare @temp table(id int) delete from @temp--判断记录数是否大于次数 if(dbo.Get_StrArrayLength(@periodRecord,',') >@times)begin set @next=dbo.Get_StrArrayLength(@periodRecord,',')-@times+1end elsebegin set @next =2 --PeriodRecord 默认值为0end while @next<=dbo.Get_StrArrayLength(@periodRecord,',') begin Insert into @temp select dbo.Get_StrArrayStrOfIndex(@periodRecord,',',@next) set @next=@next+1 end
- SQL截取字符串
- SQL截取字符串
- SQL截取字符串
- SQL截取字符串
- sql截取字符串
- SQL截取字符串
- 关于SQL截取字符串
- sql 截取字符串
- sql截取字符串
- sql 截取字符串
- SQL截取字符串
- SQL截取字符串
- SQL字符串截取
- sql截取字符串
- SQL 截取字符串(转)
- SQL字符串截取
- SQL截取字符串
- sql 截取字符串
- android 蓝牙 开关的方法
- ARM汇编语言中的中括号(“[”和“]”)是什么意思
- AHB、APB简介
- HDU1269 迷宫城堡 有向图强连通分量Tarjan算法
- java观察者Demo2
- sql字符串截取
- LINK : warning LNK4098: 默认库“LIBCMTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
- Linux内核高端内存
- JAX-RS 入门一:基础
- linux学习笔记4--线程编程
- Android入门/ Spinner组件(二十)
- _snprintf 显示(null)
- NhiberNate 缓存机制
- linux学习笔记4--原子操作