[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
자동등록방지 숫자입력

웹개발

번호 제목 글쓴이 날짜 조회수
22 [리눅스] Apache Document Root 권한설정 최고관리자 09-04 1,626
21 [리눅스] CentOS Version 확인하기 최고관리자 09-04 1,462
20 [리눅스] MySQL 최초 접속 및 설정 최고관리자 09-03 1,754
19 [리눅스] MySQL 5.7 보안설정 최고관리자 09-03 1,551
18 [리눅스] RDate로 시간 동기화 하기. 최고관리자 09-03 1,476
17 [리눅스] 기본설치 (Apache , PHP , MySql) 최고관리자 09-03 2,032
16 [공부] 프로그래밍 공부 사이트 최고관리자 09-01 1,407
15 [기능] Mobile 메뉴 최고관리자 09-01 1,374
14 [기능] Mega Menu 최고관리자 09-01 1,422
13 [기능] 상단에서 메뉴높이가 높고 아래로 스크롤하면 메뉴높이가 줄어듦 최고관리자 09-01 1,426
12 [기능] 상단에 메뉴가 보이다가 아래로 스크롤하면 메뉴가 사라지고 상단으로 가면 메뉴가 보임. 최고관리자 09-01 1,345
11 [기능] 메뉴가 안 보이다가 아래로 스크롤하면 메뉴가 생김 최고관리자 09-01 1,447
10 [기능] Icon으로 구성된 수직/수평 메뉴 최고관리자 09-01 1,292
9 [JS] 자바스크립트 {...} [...] 문법 (비구조화 할당/구조분해 할당) 최고관리자 09-01 1,301
8 [기능] 상단의 높이가 큰 메뉴상태에서 아래로 스크롤하면 상단에 높이가 낮은 메뉴가 고정됨 최고관리자 09-01 1,304
7 [Font] Naversoftware 폰트 리스트 최고관리자 09-01 1,368
6 [Web Font] 직접입력해서 폰트를 확인할 수 있는 사이트 최고관리자 09-01 1,358
5 [CSS - font] unicode-range 최고관리자 08-31 1,585
4 [UI 참고] Oven - 회원가입 최고관리자 08-31 1,321
3 타자기체 - 가로 세로 비율이 고정되어 있는 글꼴로 표현 최고관리자 08-08 1,410