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

MySQL에서 열에 선행 0 추가하기 – LPAD() 함수 활용법

MySQL에서 열의 값 앞에 선행 0(leading zeros)을 추가하려면 LPAD() 함수를 사용하면 됩니다. LPAD는 문자열을 지정한 길이가 될 때까지 왼쪽을 특정 문자로 채워 주는 함수로, 형식은 LPAD(문자열, 총길이, 채울문자) 입니다.

예제를 통해 단계별로 살펴보겠습니다.

1. 테이블 생성

먼저 예제에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    Code varchar(100)
);
Query OK, 0 rows affected (0.87 sec)

2. 데이터 삽입

INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values('JS');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('CB');
Query OK, 1 row affected (0.10 sec)
mysql> insert into DemoTable values('DM');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('CT');
Query OK, 1 row affected (0.07 sec)

3. 전체 레코드 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다.

+------+
| Code |
+------+
|   JS |
|   CB |
|   DM |
|   CT |
+------+
4 rows in set (0.00 sec)

4. LPAD()로 선행 0 추가하기

이제 UPDATE 문과 함께 LPAD() 함수를 사용해 Code 열의 값을 총 8자리가 되도록 앞부분을 '0'으로 채워 보겠습니다.

mysql> update DemoTable set Code=LPAD(Code, 8, '0');
Query OK, 4 rows affected (0.10 sec)
Rows matched: 4 Changed: 4 Warnings: 0

5. 변경된 결과 확인

테이블의 레코드를 다시 한번 조회해 봅니다.

mysql> select *from DemoTable;

모든 값이 8자리가 되도록 앞에 0이 채워진 것을 확인할 수 있습니다.

+----------+
| Code     |
+----------+
| 000000JS |
| 000000CB |
| 000000DM |
| 000000CT |
+----------+
4 rows in set (0.00 sec)

이처럼 LPAD() 함수를 활용하면 코드나 번호처럼 고정 자릿수가 필요한 데이터의 앞자리를 손쉽게 0으로 채울 수 있습니다. 반대로 오른쪽을 채우고 싶다면 RPAD() 함수를 사용하면 됩니다.