首页 > 代码库 > 分割字符串表值函数
分割字符串表值函数
实际工作中,我们通常会有这样的业务场景,需要把一大串字符串,用某个特定的字符串分割出来,生成一张表。一下方法就很好的解决了这个问题。
1 IF EXISTS(SELECT 1 FROM SYSOBJECTS WHERE ID=OBJECT_ID(‘fn_Split‘) AND XTYPE=‘FN‘) 2 BEGIN 3 DROP FUNCTION dbo.fn_Split 4 END 5 GO 6 --功 能:分割字符串表值函数 7 --参 数:@String 分割的字符串 8 -- @Delimiter 分隔符 9 --返 回 值:表10 --创 建 人:maojw11 --创建时间:2014-09-2412 CREATE FUNCTION [dbo].[fn_Split]( 13 @String nvarchar (max), 14 @Delimiter nvarchar (10) 15 ) 16 RETURNS @ValueTable TABLE ([Value] NVARCHAR(MAX),[id] int) 17 BEGIN 18 DECLARE @NextString nvarchar(MAX), 19 @Pos int, 20 @NextPos int, 21 @CommaCheck nvarchar(1),22 @id int23 24 set @id=1 25 26 SET @NextString = ‘‘ 27 SET @CommaCheck = right(@String,1) 28 29 SET @String = @String + @Delimiter 30 31 SET @Pos = CHARINDEX(@Delimiter,@String) 32 SET @NextPos = 1 33 34 WHILE (@pos <> 0) 35 BEGIN 36 SET @NextString = SUBSTRING(@String,1,@Pos - 1) 37 38 INSERT INTO @ValueTable ( [Value],[id]) VALUES (@NextString,@id) 39 40 SET @String = SUBSTRING(@String,@pos +1,LEN(@String)) 41 42 SET @NextPos = @Pos 43 SET @pos = CHARINDEX(@Delimiter,@String) 44 45 set @id = @id +146 END 47 48 RETURN 49 END 50 GO
分割字符串表值函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。