MySQL에서 LPAD() 또는 RPAD() 함수를 테이블 열의 값에 적용하려면, 함수의 첫 번째 인수로 열 이름을 지정하면 됩니다. 두 함수는 문자열을 지정한 길이까지 채우는 역할을 하며, LPAD()는 왼쪽에, RPAD()는 오른쪽에 패딩 문자를 추가합니다.
LPAD() 함수 예제
'Student' 테이블의 Name 열 값을 왼쪽에 '*' 문자로 채워 전체 길이 10자리로 만드는 예제입니다.
mysql> Select Name, LPAD(Name,10,'*') from student; +---------+-------------------+ | Name | LPAD(Name,10,'*') | +---------+-------------------+ | Gaurav | ****Gaurav | | Aarav | *****Aarav | | Harshit | ***Harshit | | Gaurav | ****Gaurav | | Yashraj | ***Yashraj | +---------+-------------------+ 5 rows in set (0.08 sec)
RPAD() 함수 예제
같은 방식으로 RPAD() 함수를 사용하면 열 값의 오른쪽에 패딩 문자가 추가됩니다.
mysql> Select Name, RPAD(Name,10,'*') from student; +---------+-------------------+ | Name | RPAD(Name,10,'*') | +---------+-------------------+ | Gaurav | Gaurav**** | | Aarav | Aarav***** | | Harshit | Harshit*** | | Gaurav | Gaurav**** | | Yashraj | Yashraj*** | +---------+-------------------+ 5 rows in set (0.00 sec)
두 함수를 하나의 쿼리에서 함께 사용하기
LPAD()와 RPAD() 함수를 중첩하면 열 값의 양쪽 모두에 패딩 문자를 추가할 수 있습니다. 아래 예제에서는 먼저 LPAD()로 길이를 10으로 맞춘 뒤, 다시 RPAD()로 전체 길이를 14까지 확장하는 방식입니다.
mysql> Select Name, RPAD(LPAD(Name,10,'* '),14,'* ') from student; +---------+----------------------------------+ | Name | RPAD(LPAD(Name,10,'* '),14,'* ') | +---------+----------------------------------+ | Gaurav | * * Gaurav* * | | Aarav | * * *Aarav* * | | Harshit | * *Harshit* * | | Gaurav | * * Gaurav* * | | Yashraj | * *Yashraj* * | +---------+----------------------------------+ 5 rows in set (0.00 sec)
이처럼 LPAD()와 RPAD() 함수는 SELECT 문 안에서 열 이름을 인수로 전달하기만 하면 되므로, 데이터 정렬이나 포맷팅이 필요한 보고서 작성 시 매우 유용하게 활용할 수 있습니다.