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

웹개발

번호 제목 글쓴이 날짜 조회수
62 [Linux] CentOS postfix 메일서버 설치 및 설정(sendmail 설정) 최고관리자 12-23 1,491
61 [Ubuntu] 인터넷 연결이 안될 때 최고관리자 12-07 1,298
60 [Apache SSL] Ubuntu 인증서(전자서명) 최고관리자 11-24 1,410
59 [Ubuntu] ssl 임시 인증서 준비 및 발급받기 최고관리자 11-23 1,801
58 [Ubuntu] apache2 환경설정 생성기 최고관리자 11-23 3,018
57 [Ubuntu] apache2 설치 최고관리자 11-23 1,318
56 [vi 편집기] 단축키 최고관리자 11-23 1,247
55 [유용한 블로그] ^^.^^ 최고관리자 11-19 1,255
54 [JS] TimelineJS - 시간의 흐름을 네비게이션화 최고관리자 11-19 1,322
53 [JS] 스크롤을 감지하여 사이트의 헤더를 보이거나 숨기기 최고관리자 11-19 1,458
52 [Linux] NAS Mount 최고관리자 11-12 1,272
51 [React] React활용 최고관리자 11-10 1,313
50 [PHP] exec 실행에 대한 응답코드 최고관리자 11-02 1,661
49 [Linux] Shell Script 최고관리자 10-26 1,568
48 [폰트] 폰트 찾기 사이트 최고관리자 10-21 1,371
47 [통신] Socket packet test Program 최고관리자 10-20 1,856
46 [통신] 맥용 Socket Test Program 최고관리자 10-20 1,645
45 [통신] Mac에서 TCP Socket통신 테스트 하기 최고관리자 10-20 2,918
44 [NginX] 504 Gateway Time-out 에러와 해결방법 +1 최고관리자 10-16 24,640
43 [NginX] 설정 최고관리자 10-13 1,582