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

MySQL ZEROFILL 속성 완벽 가이드: 숫자 앞자리 0 채우기 방법

MySQL ZEROFILL이란 무엇인가?

ZEROFILL은 MySQL 컬럼 정의에서 지정한 표시 너비(display width)만큼 필드 값을 왼쪽에 0으로 채워 출력해 주는 속성입니다. 예를 들어, 컬럼이 int(8)로 정의되어 있다면 표시 너비는 8자리가 됩니다. 이때 값이 4376이라면, 전체 너비가 8자리가 되도록 왼쪽에 0이 채워져 다음과 같이 표시됩니다.

00004376

ZEROFILL 컬럼 생성하기

먼저 ZEROFILL 속성을 적용한 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
-> (
-> Number int(8) zerofill
-> );
Query OK, 0 rows affected (0.50 sec)

데이터 삽입하기

INSERT 명령을 사용하여 테이블에 여러 개의 레코드를 삽입합니다.

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.16 sec)

mysql> insert into DemoTable values(1234);
Query OK, 1 row affected (0.20 sec)

mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.47 sec)

mysql> insert into DemoTable values(678965);
Query OK, 1 row affected (0.20 sec)

결과 확인하기

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+----------+
| Number |
+----------+
| 00000010 |
| 00001234 |
| 00000001 |
| 00678965 |
+----------+
4 rows in set (0.00 sec)

ZEROFILL 사용 시 참고 사항

ZEROFILL은 실제 저장된 데이터를 변경하는 것이 아니라 표시 방식에만 영향을 준다는 점을 기억하세요. 즉, 내부적으로는 여전히 일반 정수 값으로 저장되며, 조회 시에만 지정된 너비만큼 0이 채워져 화면에 나타납니다. 또한 ZEROFILL을 적용하면 해당 컬럼에는 자동으로 UNSIGNED 속성이 부여되므로 음수를 저장할 수 없다는 점도 유의해야 합니다. 주문 번호, 회원 번호처럼 고정 자릿수 형식이 필요한 경우에 유용하게 활용할 수 있습니다.