sql实现split函数的脚本
2013-11-25 00:00
399 查看
--创建一个函数,函数中有两个参数 Create FUNCTION [dbo].[SplitToTable] ( @SplitString nvarchar(max),--输入的字符串 @Separator nvarchar(10)=' '--分割条件 ) --返回的数据为一个表 RETURNS @SplitStringsTable TABLE ( [id] int identity(1,1), [value] nvarchar(max) ) AS BEGIN DECLARE @CurrentIndex int;--当前索引 DECLARE @NextIndex int;--下一个索引 DECLARE @ReturnText nvarchar(max);--返回内容 SELECT @CurrentIndex=1;--设置当前索引初始值为1 --当当前索引小于字符串长度时,执行循环体 WHILE(@CurrentIndex<=len(@SplitString)) BEGIN --CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置。CHARINDEX函数调用方法如下: --CHARINDEX ( expression1 , expression2 [ , start_location ] ) -- Expression1是要到expression2中寻找的字符中,start_location是CHARINDEX函数开始在expression2中找expression1的位置。 SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex); IF(@NextIndex=0 OR @NextIndex IS NULL) SELECT @NextIndex=len(@SplitString)+1; --函数用法:SUBSTRING ( expression, start, length ) SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex); INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText); SELECT @CurrentIndex=@NextIndex+1; END RETURN; END go --测试函数 select * FROm dbo.SplitToTable('a,b,c,d,e,f,g', ',')
相关文章推荐
- sql实现split函数的脚本
- SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串
- 在.net执行sql脚本的简单实现
- 利用SQL的charindex实现字符串数组和Split函数
- 一个实现RBAC的SQL脚本(二)
- SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串
- ASP.NET(C#)执行.SQL脚本实现数据库建表
- java 调用 sql,脚本,用以实现备份库
- Oracle中实现MySQL show index from table命令SQL脚本分享
- 通过Dos命令行实现ftp按照目录下载存储,并且按照目录自动更新sql脚本
- SQL实现split函数,自定义分割字符,自定义取出第几个分割字符前的字符串
- 在.net执行sql脚本的简单实现
- sql实现节假日不执行脚本
- 实现SQL脚本执行结果的界面输出
- sql中的split函数的实现
- 利用.net(C#)执行sql脚本的简单实现
- 在.net执行sql脚本的简单实现
- sql 布尔盲注 python脚本实现
- SQL----类似Split函数的实现1