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

MySQL ZEROFILL 속성으로 열 값을 0으로 채우는 방법

MySQL에서는 ZEROFILL 속성을 사용하면 숫자 열의 값 앞을 자동으로 0으로 채울 수 있습니다. 예를 들어, int(10)으로 선언된 열에 1을 저장하면 '0000000001'처럼 표시됩니다.

1. 테이블 생성하기

먼저 테스트용 테이블을 생성합니다.

mysql> create table DemoTable
    (
    Number int
    );
Query OK, 0 rows affected (0.58 sec)

2. ZEROFILL 속성 추가하기

ALTER TABLE 문을 사용하여 Number 열에 ZEROFILL 속성과 NOT NULL 제약 조건을 추가합니다.

mysql> alter table DemoTable change Number Number int(10) zerofill not null;
Query OK, 0 rows affected (1.13 sec)
Records: 0 Duplicates: 0 Warnings: 0

3. 데이터 삽입하기

INSERT 명령어로 여러 개의 숫자를 입력합니다.

mysql> insert into DemoTable values(1);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable values(12);
Query OK, 1 row affected (0.53 sec)
mysql> insert into DemoTable values(123);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(1234);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(12345);
Query OK, 1 row affected (0.15 sec)

4. 결과 확인하기

SELECT 문으로 저장된 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다. 각 값이 지정된 자릿수(10자리)만큼 앞에 0이 채워져 출력되는 것을 확인할 수 있습니다.

+------------+
| Number     |
+------------+
| 0000000001 |
| 0000000012 |
| 0000000123 |
| 0000001234 |
| 0000012345 |
+------------+
5 rows in set (0.00 sec)

참고 사항

ZEROFILL은 표시 목적으로만 사용되며, 실제 저장되는 값에는 영향을 주지 않습니다. 또한 MySQL 8.0.17 버전부터는 ZEROFILL(및 DISPLAY WIDTH)이 공식적으로 지원 중단(deprecated)되었으므로, 새 프로젝트에서는 LPAD() 함수 등을 사용해 쿼리 단계에서 형식을 지정하는 방식을 권장합니다.