>  기사  >  데이터 베이스  >  십진수는 어떤 유형인가요?

십진수는 어떤 유형인가요?

青灯夜游
青灯夜游원래의
2021-03-18 16:03:0573468검색

Decimal은 "DECIMAL(M,D)" 구문 형식을 사용하는 MySQL에 존재하는 정확한 데이터 유형입니다. 그 중 M은 최대 숫자 수(정밀도)이고 범위는 "1~65"이며 기본값은 10입니다. D는 소수점 이하 자릿수(스케일)이며, 범위는 "0~30"이지만 M을 초과할 수 없습니다.

십진수는 어떤 유형인가요?

이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.

MySQL에서 지원하는 부동 소수점 숫자의 유형은 FLOAT, DOUBLE 및 DECIMAL입니다. DECIMAL 유형은 FLOAT와 다르며 DECIMAL은 실제로 문자열로 저장됩니다. DECIMAL의 최대 가능 값 범위는 DOUBLE과 동일하지만 유효 값 범위는 M과 D의 값에 따라 결정됩니다. M을 변경하고 D를 고정한 경우 M이 커질수록 값 범위도 커집니다.

돈과 같이 상대적으로 정밀도가 높은 것에는 소수형을 사용하는 것이 좋습니다. 실수가 발생하기 쉬우므로 숫자와 소수는 동의어이며 숫자는 자동으로 소수로 변환됩니다. .

DECIMAL은 MySQL 5.1부터 도입되었으며 열 선언 구문은 DECIMAL(M,D)입니다. MySQL 5.1에서 매개변수의 값 범위는 다음과 같습니다.

  • M은 최대 숫자 수(정밀도)입니다. 범위는 1~65(이전 MySQL 버전에서는 허용 범위는 1~254)이며 M의 기본값은 10입니다.

  • D는 소수점(스케일) 오른쪽의 자릿수입니다. 범위는 0~30이지만 M을 초과할 수 없습니다.

설명: float는 4바이트, double은 8바이트, decimail(M,D)는 M+2바이트를 차지합니다.

예를 들어 DECIMAL(5,2)의 최대값은 7바이트이므로 9999.99입니다.

그래서 M과 D는 DECIMAL(M, D)의 값 범위에 영향을 미치는 핵심입니다

유형 설명 값 범위(MySQL < 3.23) 값 범위(MySQL >= 3.23)

DECIMAL(4,1 ) -9.9 ~ 99.9 -999.9 ~ 9999.9

DECIMAL(5,1) -99.9 ~ 999.9 -9999.9 ~ 99999.9

DECIMAL(6,1) -999.9 ~ 9999.9 -99999.9 ~ 999999.9

DEC IMAL(6,2) - 99.99 ~ 999.99 -9999.99 ~ 99999.99

DECIMAL(6,3) -9.999 ~ 99.999 -999.999 ~ 9999.999

(권장 튜토리얼: mysql 비디오 튜토리얼)

주어진 DECIMAL 유형의 값 범위는 MySQL에 따라 다릅니다. 데이터 유형의 버전입니다. MySQL3.23 이전 버전에서는 DECIMAL(M, D) 열의 각 값이 M 바이트를 차지하고, 부호(필요한 경우)와 소수점이 M 바이트에 포함됩니다. 따라서 DECIMAL(5, 2) 유형의 열은 가능한 모든 5자 값을 포함하므로 -9.99에서 99.99 범위의 값을 갖습니다.

# MySQL 3.23 이상 버전에서는 DECIMAL(M, D)의 값 범위가 이전 버전의 DECIMAL(M + 2, D) 값 범위와 같습니다.

결론:

값이 해당 값 범위 내에 있고 소수 자릿수가 너무 많으면 소수 자릿수가 직접 잘립니다.

값이 값 범위를 벗어나면 가장 큰(가장 작은) 값으로 채워주세요.

더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 비디오를 방문하세요! !

위 내용은 십진수는 어떤 유형인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.