첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170

■ 구분자를 사용해 문자열을 분리하는 방법을 보여준다.

 

▶ 예제 코드 (SQL)

CREATE FUNCTION [dbo].[GetTable]
(
    @String    NVARCHAR(MAX),
    @Separator NVARCHAR(10)
)
RETURNS @Result TABLE(Item NVARCHAR(100))
AS
BEGIN
    DECLARE @Temp   NVARCHAR(MAX)
    DECLARE @Start  INT
    DECLARE @End    INT
    DECLARE @Length INT

    SET @Temp  = ' ' + @String
    SET @Start = 1
    SET @End   = 0

    WHILE(@Start <> 0)
    BEGIN
        SET @End = CHARINDEX(@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
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요