■ 문자열에서 테이블을 생성하는 방법을 보여준다.
▶ 문자열에서 테이블 생성하기 예제 (SQL)
1 2 3 4 |
SELECT A.* FROM dbo.CreateTable('1,2,3,4,5', ',') AS A; |
▶ 문자열에서 테이블 생성하기 (SQL)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
CREATE FUNCTION dbo.CreateTableFromString ( @P_String NVARCHAR(MAX) -- 문자열 ,@P_Separator NVARCHAR(10) -- 분리자 ) RETURNS @Result TABLE(Item NVARCHAR(100)) AS BEGIN DECLARE @Temp NVARCHAR(MAX); DECLARE @Start INT; DECLARE @End INT; DECLARE @Length INT; DECLARE @Index INT; SET @Temp = ' ' + @P_String; SET @Start = 1; SET @End = 0; SET @Index = 0; WHILE(@Start <> 0) BEGIN SET @End = CHARINDEX(@P_Separator, @Temp, @Start); IF @End <> 0 BEGIN SET @Length = @End - @Start; END ELSE BEGIN SET @Length = LEN(@Temp) - @Start + 1; END; INSERT INTO @Result(Item) VALUES (RTRIM(LTRIM(SUBSTRING(@Temp, @Start, @Length)))); SET @Start = @End + 1; IF @End = 0 BEGIN RETURN; END; END; RETURN; END |