[MySql] 타입지정시 괄호안의 숫자

참고 – BIGINT(20)에서 괄호안의 숫자

괄호안의 숫자는 디스플레이 너비 속성display width attribute 즉, 자릿수를 나타내는데 zorefill속성을 사용할 경우 자릿수 만큼 유효숫자 0을 채우는 것이다. 자릿수를 지정하지 않았을 경우에는 INT의 기본값은 11, BIGINT의 기본값은 20으로 자릿수가 자동 설정된다. 예컨대 INT(3)으로 zerofill속성을 사용해 id컬럼을 생성하면, id값으로 1, 2, 3, … 998, 999, 1000, 1001을 저장했을 때, 데이터베이스에는 001, 002, 003, … 998, 999, 1000, 1001로 기록이 된다. 즉 숫자형뒤의 괄호안의 숫자만큼 자릿수에 유효숫자가 채워진다. 그리고 괄호안의 숫자를 넘는 자릿수의 수에 대해서는 상관없이 기록이되고, 숫자형이 허용하는 범위까지 값을 저장할 수 있다. 헷갈리면 안되는 것이 괄호안의 숫자가 자릿수를 규정하는 것은 아니라는 것이다. 즉, zerofill속성을 사용하지 않는 경우라면 괄호안의 숫자는 의미가 없다. 그리고 zerofill속성을 사용하는 것은 양수에만 가능하므로, 자동으로 unsigned속성이 적용된다.

그리고 MySQL 공식 문서에 따르면 버전 8.0.17부터는 zerofill속성은 숫자형에 대해 더 이상 사용되지 않고, 향후 버전에서는 제거 될 예정이다. zerofill속성을 일정의 자릿수를 가진 우편번호, 주민등록번호처럼 ‘0으로 시작하는 숫자데이터’에 사용하는 사람들이 있는 모양인데, 향후 MySQL 버전에서 zerofill속성이 제외되면 LPAD()함수를 사용하여 원하는 자릿수만큼 0으로 채우거나, 형식이 지정된 숫자를 CHAR형 컬럼에 저장하면 된다.

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기
captcha
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
122 [Dart] Dart 문법 정리 최고관리자 09-09 24,465
121 [Flutter] absorbpointer-and-ignorepointer 최고관리자 09-08 23,790
120 [PHP] 타입선언 최고관리자 08-22 23,621
119 [PHP] error_level 셋팅과 실제 출력 최고관리자 08-21 23,723
118 [MySql] 타입지정시 괄호안의 숫자 최고관리자 08-18 23,754
117 [MySql] MySQL 최적의 데이터 타입 선택 방법 최고관리자 08-18 23,433
116 [MySql] 인덱스 조회시 주의 사항 최고관리자 08-18 23,434
115 [MySql] NOT NULL과 DEFAULT 를 동시에 쓸 필요가 있는가? 최고관리자 08-18 23,454
114 [Flutter] Row and Column 최고관리자 08-16 23,316
113 [Flutter] Linting 설정으로, 흔하게 실수할 수 있는 것을 build 전 방지하기. 최고관리자 08-16 23,476
112 [PHP] PHP 7.x PHP 8.x에서의 조건문 최고관리자 07-26 23,448
111 [JS] Webpack을 쓰는 이유 최고관리자 07-24 23,507
110 [Vue] Vue Router 최고관리자 07-22 23,387
109 [Vue] Vue.js 기본 원리 최고관리자 07-22 23,875
108 [MySql] 쿼리 결과를 합치는 union vs union all의 차이 최고관리자 07-10 23,399
107 [Vue] 일반적인 프로젝트의 구조에 대해 알아보자. 최고관리자 06-18 23,464
106 [JSP] vue등의 스크립트 분석을 위해 %태그 정도는 알자. 최고관리자 06-18 23,594
105 [MySql] 페이징(paging) 쿼리시 전체개수를 한번에 처리하는 방법 최고관리자 06-14 24,233
104 [MySql] Join vs Sub Query 비교 최고관리자 06-05 23,643
103 [SQL] SQL Join에 대한 이해 최고관리자 06-05 23,495