Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블의 열 값에 LPAD()와 RPAD() 함수를 사용하는 방법

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 문 안에서 열 이름을 인수로 전달하기만 하면 되므로, 데이터 정렬이나 포맷팅이 필요한 보고서 작성 시 매우 유용하게 활용할 수 있습니다.