11.2.3 부동 소수점 형 (대략적인 값) - FLOAT, DOUBLE
FLOAT 및 DOUBLE 타입은 근사치 값 데이터 값을 나타냅니다. MySQL은 단 정밀도 값은 4 바이트를 배정 밀도 값은 8 바이트를 사용합니다.
FLOAT 내용은 SQL 표준에서는 옵션에서 키워드 FLOAT 에 계속 괄호 안의 비트 (지수의 범위가 아닌) 정도를 지정할 수 있습니다. MySQL은 또한이 옵션의 정밀도 지정도 지원하지만, 그 정밀도 값은 스토리지 크기를 결정하는 데에만 사용됩니다. 0에서 23의 정밀도는 4 바이트 단일 정밀도 FLOAT 컬럼입니다. 24에서 53의 정밀도는 8 바이트 배정 밀도 DOUBLE 컬럼입니다.
MySQL은 FLOAT( 또는 M , D )REAL( 또는 M , D )DOUBLE PRECISION( 의 비 표준 구문을 허용합니다. 여기에서 " M , D )( "값은 총 M 、 D )M 자리까지 저장할 수 있으며 그 중 D 자리수는 소수점 이하입니다. 예를 들어, FLOAT(7,4) 로 정의 된 열이 표시되는 경우에는 -999.9999 과 같이됩니다. MySQL은 값을 저장할 때 라운딩 때문에 FLOAT(7,4) 컬럼에 999.00009 을 삽입하면 근사 결과는 999.0001 입니다.
부동 소수점 값은 대략적인 값이며 정확한 숫자로 저장되지 않기 때문에, 비교 값을 정확한 숫자로 취급하려고하면 문제가 발생할 수 있습니다. 이들은 또한 플랫폼 또는 구현 종속성에 따릅니다. 자세한 내용은 섹션 B.5.5.8 "부동 소수점 값 문제" 를 참조하십시오.
이식성을 최대화하기 위해 요약 값 데이터 값의 저장을 필요로하는 코드는 정밀도 또는 자릿수가 지정되지 않은 FLOAT 또는 DOUBLE PRECISION 을 사용해야합니다.