/****** Object: UserDefinedFunction [itmon].[fnSplit] Script Date: 2024-12-06 오전 9:56:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/**********************************************************************
0. 버전 : SQL Server 2022
1. 스토어드명 : fnSplit
2. 목적& 기능 : 특정문자를 기준으로 데이타를 테이블로 리턴한다.
3. 사용예
DECLARE @G_STR VARCHAR(100) = '11111@222222@333333'
SELECT * FROM itmon.fnSplit(@G_STR, '@')
**********************************************************************/
ALTER FUNCTION [itmon].[fnSplit]
(
@StrValue VARCHAR(MAX), -- 대상 문자열
@SplitChar CHAR(1) -- 구분자
)
RETURNS @SPLIT_TEMP TABLE ( RtnValue VARCHAR(MAX) )
AS
BEGIN
DECLARE @sPos INT, @nPos INT
DECLARE @TmpVar VARCHAR(MAX) -- 분리된 문자열 임시 저장변수
SET @sPos = 1 -- 구분문자 검색을 시작할 위치
SET @nPos = 1 -- 구분문자 위치
WHILE (@nPos > 0)
BEGIN
SET @nPos = CHARINDEX(@SplitChar, @StrValue, @sPos )
IF @nPos = 0
SET @TmpVar = RIGHT(@StrValue, LEN(@StrValue)-@sPos+1 )
ELSE
SET @TmpVar = SUBSTRING(@StrValue, @sPos, @nPos-@sPos)
IF LEN(@TmpVar)>0
INSERT INTO @SPLIT_TEMP VALUES( @TmpVar )
SET @sPos = @nPos + 1
END
RETURN
END
PROCEDURE (0) | 2024.12.11 |
---|---|
테이블 용량 조회 (0) | 2024.12.06 |
데이타 한글 포함여부 (0) | 2023.03.17 |
SQL Express 비밀번호 변경 (0) | 2021.06.14 |
SQL Server 어셈블리 등록 (0) | 2021.06.14 |