Split

USE [zlhomeV3.0]
GO
/****** Object:  UserDefinedFunction [dbo].[Split]    Script Date: 07/09/2012 09:56:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE FUNCTION [dbo].[Split]
(
@List nvarchar(max),
@SplitOn nvarchar(5)
)  
RETURNS @RtnValue table 
(
Id int identity(1,1),
Value nvarchar(max)
AS  
BEGIN
Declare @tmpValue nvarchar(max)
While (Charindex(@SplitOn collate Chinese_PRC_CS_AS_WS,@List collate Chinese_PRC_CS_AS_WS)>0)
Begin
Set @tmpValue=ltrim(rtrim(Substring(@List,1,Charindex(@SplitOn collate Chinese_PRC_CS_AS_WS,@List collate Chinese_PRC_CS_AS_WS)-1)))
Insert Into @RtnValue (value)
Select @tmpValue --Where len(@tmpValue)>0
Set @List = Substring(@List,Charindex(@SplitOn collate Chinese_PRC_CS_AS_WS,@List collate Chinese_PRC_CS_AS_WS)+len(@SplitOn),len(@List))
Set @tmpValue=''
End
Set @tmpValue=ltrim(rtrim(@List))
Insert Into @RtnValue (Value)
Select @tmpValue --Where len(@tmpValue)>0
    Return
END
GO
原文地址:https://www.cnblogs.com/jazzka702/p/2582238.html