문자열에 특정 문자를 채울 수 있는 SQL 스크립트
페이지 정보
작성자 서방님 댓글 0건 조회 141회 작성일 07-10-16 16:06본문
문자열의 왼쪽 또는 오른쪽에 공백을 채워 넣어야 할 경우가 있다. 꼭 공백은 아니더라도 다른 문자로 채워넣어야 할 경우가 있다. 이를 위한 SQL 스크립트를 소개하고자 한다.
사용 방법은 간단하다. ALLPAD란 사용자 정의 함수를 만들어 사용하는데 이 함수의 파라미터로 '원래 문자열', '채워 넣을 문자', '채워 넣을 갯수', '왼쪽부터 채울거면 L, 오른쪽부터 채울거면 R'을 넣어 주면 된다.
다음은 사용 예이다.
--Parameter : Pass 'L' for Left padding and 'R' for right padding.
--Usage
select dbo.ALLPAD ('012233','*',10,'L')
--results
****012233
select dbo.ALLPAD ('012233','2',10,'R')
--results
0122332222
select dbo.ALLPAD ('43434','-',30,'L')
--results
-------------------------43434
select dbo.ALLPAD (Columnname,'-',30,'L') from tablename
위 예에서 사용한 ALLPAD 함수에 대한 스크립트는 다음과 같다.
Create function dbo.ALLPAD (@text varchar(128),@PADtext char(1), @PADlimit int,@PADType char(1))
returns varchar(512)
as
begin
--Objective : To pad the given string on the left or right of the column or string value
--Developed by: MAK
--Date: Jul 23, 2004
declare @resultPAD varchar(512)
set @resultPAD =''
--Left Padding
If @PADtype ='L'
begin
set @resultPAD =right(replicate(@PADtext,@PADlimit)+@text,@PADlimit)
end
--Right Padding
If @PADtype ='R'
begin
set @resultPAD =left(@text+replicate(@PADtext,@PADlimit),@PADlimit)
end
--No Padding
If @PADtype not in ('R' , 'L' )
begin
set @resultPAD = NULL
end
return @resultPAD
end
댓글목록
등록된 댓글이 없습니다.