RDBMS/🌈 MsSql
구분자를 이용한 배열 변수
James Wetzel
2020. 1. 6. 14:56
CREATE FUNCTION [dbo].[fn_gmkt_split_array](@String NVARCHAR(4000), @Delimiter CHAR(1))
RETURNS @Results TABLE (Items NVARCHAR(4000))
AS
BEGIN
DECLARE @index INT
DECLARE @slice NVARCHAR(4000)
SELECT @index = 1
IF @String IS NULL RETURN
WHILE @index != 0
BEGIN
SELECT @index = CHARINDEX(@Delimiter,@String)
IF @index !=0
SELECT @slice = left(@String,@index - 1)
ELSE
SELECT @slice = @String
INSERT INTO @Results(Items) VALUES(@slice)
SELECT @String = RIGHT(@String , LEN(@String) - @index)
IF LEN(@String) = 0 BREAK
END
RETURN
END
사용법
SELECT Items
dbo.fn_gmkt_split_array('99999, 78652', ',')
STRING_SPLIT(Transact-SQL)
select value
from string_split('1,2,3', ',')
// 결과 = 1
// 결과 = 2
// 결과 = 3
728x90
반응형