You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
810 B
40 lines
810 B
|
|
SET ANSI_NULLS ON
|
|
GO
|
|
SET QUOTED_IDENTIFIER ON
|
|
GO
|
|
-- =============================================
|
|
-- Description: Split Strings
|
|
-- =============================================
|
|
CREATE OR ALTER PROCEDURE PROC_SPLITSTRING
|
|
@string VARCHAR(MAX)=NULL,
|
|
@seperator CHAR=NULL
|
|
AS
|
|
BEGIN
|
|
|
|
SET NOCOUNT ON;
|
|
|
|
CREATE TABLE #results
|
|
(
|
|
strings VARCHAR(MAX)
|
|
)
|
|
|
|
DECLARE @result VARCHAR(MAX)
|
|
DECLARE @position INT
|
|
|
|
WHILE CHARINDEX(@seperator, @string) > 0
|
|
BEGIN
|
|
SELECT @position = CHARINDEX(@seperator, @string)
|
|
SELECT @result = SUBSTRING(@string, 1, @position-1)
|
|
|
|
INSERT INTO #results SELECT LTRIM(RTRIM(@result))
|
|
|
|
SELECT @string = SUBSTRING(@string, @position+1, LEN(@string) - @position)
|
|
END
|
|
|
|
INSERT INTO #results SELECT LTRIM(RTRIM(@string))
|
|
|
|
SELECT strings as 'Value' FROM #results
|
|
RETURN
|
|
END
|
|
GO
|