1. 程式人生 > 實用技巧 >Sql中將字串按分割符拆分

Sql中將字串按分割符拆分

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 @CurrentIndex 
int; 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