MSSQL - 문자 앞에 0을 붙이는 함수
MSSQL 함수 만들기
문자 앞에 0을 붙이는 함수
---------------------------------------------------------------------------------------------------------
-- 앞에0 을붙이는함수
-- 예: SELECT 데이터베이스명스키마명 fn_VarcharSeqMake(3,5) --> '00003'
---------------------------------------------------------------------------------------------------------
CREATE FUNCTION [dbo]. [fn_VarcharSeqMake] (
@iSeq INT , -- Seq 값
@iPoint INT -- 자릿수
) RETURNS VARCHAR(20)
AS
BEGIN
-- 사용할변수선언
----------------------------------------------------------------------------------------------------
DECLARE @wReturn VARCHAR(20), -- Return 변수
@wZero VARCHAR (20), -- 0을붙일변수
@wSize INT -- Seq 크기
-- 변수Default 값셋팅
----------------------------------------------------------------------------------------------------
SELECT @wSize = LEN(@iSeq )
SELECT @wZero = ''
-- 자릿수크기까지Loop돌기
----------------------------------------------------------------------------------------------------
WHILE @wSize < @iPoint
BEGIN
SET @wZero = @wZero + '0'
SET @wSize = @wSize + 1
END
-- 자릿수크기까지Loop돌기끝
----------------------------------------------------------------------------------------------------
-- 리턴값셋팅
----------------------------------------------------------------------------------------------------
SET @wReturn = @wZero+CAST (@iSeq AS VARCHAR )
-- 리턴
----------------------------------------------------------------------------------------------------
RETURN @wReturn
END
-- 앞에0 을붙이는함수
-- 예: SELECT 데이터베이스명스키마명 fn_VarcharSeqMake(3,5) --> '00003'
---------------------------------------------------------------------------------------------------------
CREATE FUNCTION [dbo]. [fn_VarcharSeqMake] (
@iSeq INT , -- Seq 값
@iPoint INT -- 자릿수
) RETURNS VARCHAR(20)
AS
BEGIN
-- 사용할변수선언
----------------------------------------------------------------------------------------------------
DECLARE @wReturn VARCHAR(20), -- Return 변수
@wZero VARCHAR (20), -- 0을붙일변수
@wSize INT -- Seq 크기
-- 변수Default 값셋팅
----------------------------------------------------------------------------------------------------
SELECT @wSize = LEN(@iSeq )
SELECT @wZero = ''
-- 자릿수크기까지Loop돌기
----------------------------------------------------------------------------------------------------
WHILE @wSize < @iPoint
BEGIN
SET @wZero = @wZero + '0'
SET @wSize = @wSize + 1
END
-- 자릿수크기까지Loop돌기끝
----------------------------------------------------------------------------------------------------
-- 리턴값셋팅
----------------------------------------------------------------------------------------------------
SET @wReturn = @wZero+CAST (@iSeq AS VARCHAR )
-- 리턴
----------------------------------------------------------------------------------------------------
RETURN @wReturn
END
댓글
댓글 쓰기