본문 바로가기
programming/DataManage

MYSQL 문자열 길이 채우기 자릿수 맞추기 LPAD RPAD 사용 방법

by 개코 - 개발과 코딩 2023. 2. 26.

mysql 의 LPAD 와 RPAD 는 SELECT 결과의 특정 문자열을 길이를 강제로 맞출 수 있다. 화면에 표시될 문자열을 일정한 자릿수로 표현하기 위해 사용되며, LPAD 는 왼쪽에 RPAD 는 오른쪽에 문자를 추가하여 자릿수를 맞춘다. 이 둘의 함수의 사용법은 같지만 결과는 다르다.

mysql 문자열 자릿수 채우기
LPAD 왼쪽 RPAD 오른쪽 사용 방법

게시판과 같은 프로그램을 만들다보면 mysql 을 사용할 수 있고, 특정 데이터의 경우 문자열의 길이를 강제로 맞출 필요가 있다.

규격이나 이름과 같은 코드명이 부여되거나 또는 양식에 보여줄 데이터의 경우들이 이런 경우들에 속한다.

mysql 에는 LPAD 와 RPAD 함수를 사용하여 문자열의 길이를 맞추고 빈 공간은 특정 문자로 채울 수 있다.

결론적으로 LPAD 는 왼쪽에 RPAD 는 오른쪽에 문자열의 길이에 부족한 부분을 특정 문자로 채운다.

예를 들어 코드번호의 자릿수가 4자리라고 할 때 실제 부여된 코드는 11 이라면 LPAD의 경우 00을 붙여 0011 로 표현하고 RAPD 의 경우 1100 로 표현한다.

LPAD RPAD 사용법

mysql 에서 LPAD 와 RPAD 의 사용법에 대한 방법은 다음과 같다.

각각의 함수는 사용법이 같지만 결과는 다르다.

주어진 문자열 길이만큼 부족한 부분을 특정 단어로 채우고자 할 때 LPAD 는 왼쪽에 RPAD 는 오른쪽에 붙인다.

LPAD( string, length, LPad_string)
RPAD( string, length, RPad_string)

인자값은 3가지로 string, length, Lpad_string 또는 Rpad_string 이 있다.

  • string : 원본 문자열
  • length : 출력할 문자열 길이
  • LPad_string : 왼쪽에 채울 문자열
  • RPad_string : 오른쪽에 채울 문자열

아래는 위의 사용법으로 예제를 만들어 본 것이다.

LPAD( '11', 4, '00')
RPAD( '코드', 4, 'XX')

첫번째 LPAD 의 의미는 11 이란 숫자를 화면에 4자리로 표현하고, 부족한 공간은 00 으로 왼쪽에 채운다는 뜻이다.

두번째 RPAD 의 미미는 코드 란 문자를 화면에 4자리로 표현하고, 부족한 공간은 XX 로 오른쪽에 채운다는 뜻이다.

코드 및 결과

위의 예제를 이용하여 코드로 만들어 본다.

mysql 의 변수를 사용하고 변수를 LPAD 와 RPAD 를 이용하여 자릿수를 맞추어 출력해 보도록 한다.

첫번째는 숫자를 4자리 문자열로 출력하기 위한 것이고, 두번째는 문자를 4자리 문자열로 출력하기 위한 것이다.

SET @stringTxt = '11';
SET @lengthTxt = 4;
SET @padString = '0';

SELECT @stringTxt AS txt
     , LPAD( @stringTxt, @lengthTxt, @padString) AS LPAD
     , RPAD( @stringTxt, @lengthTxt, @padString) AS RPAD
;

SET @stringTxt = '가나';
SET @lengthTxt = 4;
SET @padString = 'X';

SELECT @stringTxt AS txt
     , LPAD( @stringTxt, @lengthTxt, @padString) AS LPAD
     , RPAD( @stringTxt, @lengthTxt, @padString) AS RPAD
;

첫번째 쿼리의 의미는 숫자 11 를 문자열 4자리로 표현하되 부족한 공간은 왼쪽 또는 오른쪽에 0 으로 채운다.

두번째 쿼리의 의미는 문자 가나 를 문자열 4자리로 표현하되 부족한 공간은 왼쪽 또는 오른쪽에 X 로 채운다.

결과 화면을 보자.

첫번째는 부족한 공간에 0 을 채웠다. LPAD 는 왼쪽에 0 을 채우고 RPAD 는 오른쪽에 0 을 채우고 자릿수를 맞춘다.

두번째는 부족한 공간에 X 를 채웠다. LPAD 는 왼쪽에 X 를 채우고 RPAD 는 오른쪽에 X 를 채우고 자릿수를 맞춘다.

반응형

댓글