문자열에 특정 문자를 채울 수 있는 SQL 스크립트 > db

본문 바로가기
사이트 내 전체검색

db

문자열에 특정 문자를 채울 수 있는 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

댓글목록

등록된 댓글이 없습니다.

Total 464건 21 페이지
게시물 검색

회원로그인

접속자집계

오늘
132
어제
225
최대
1,347
전체
154,891
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.