Sql中將字串按分割符拆分
阿新 • • 發佈:2020-08-25
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create FUNCTION [dbo].[F_Split] ( @SplitString nvarchar(max), --源字串 @Separator nvarchar(10)=' ' --分隔符號,預設為空格 ) RETURNS @SplitStringsTable TABLE --輸出的資料表 ( [id] int identity(1,1), [value] nvarchar(max) ) AS BEGIN DECLARE @CurrentIndexint; DECLARE @NextIndex int; DECLARE @ReturnText nvarchar(max); SELECT @CurrentIndex=1; WHILE(@CurrentIndex<=len(@SplitString)) BEGIN SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex); IF(@NextIndex=0 OR @NextIndex IS NULL) SELECT @NextIndex=len(@SplitString)+1; SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex); INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText); SELECT @CurrentIndex=@NextIndex+1; END RETURN; END GO
源文:https://www.cnblogs.com/xx2oo8/p/7000728.html
https://www.cnblogs.com/Wxinchun/p/9806687.html