mysql decimal 예제

MySQL 문서는 소수점에 대한 선언 구문에서 M을 지정하지 않습니다: DECIMAL(M,D)은 소수점을 포함하도록 되어 있습니다. 모든 정수 형식에는 선택적(비표준) 특성이 서명되지 않은 속성이 있을 수 있습니다. 부호없는 값은 열에 음수가 아닌 숫자만 허용하려는 경우 사용할 수 있으며 열에 대해 더 큰 상위 숫자 범위가 필요합니다. 예를 들어 INT 열이 서명되지 않은 경우 열 범위의 크기는 동일하지만 끝점은 -2147483648 및 2147483647에서 0 및 4294967295로 이동합니다. 마지막 예제에서, 난 그냥 예를 설정 할 수 있습니다 알고 76749 g., 하지만 이에 대 한 최고의 열 유형은 무엇입니까, 소수상을 사용 하지 않을 때? 이 세 가지 유형은 모두 다음 매개 변수 (크기, d)로 지정할 수 있습니다. 여기서 크기는 문자열의 총 크기이며 d는 정밀도를 나타냅니다. 예를 들어 12345.678과 같은 숫자를 저장하려면 데이터 형식을 DOUBLE(8, 3)으로 설정합니다. 소수점을 제외한 숫자의 숫자와 3은 아니오입니다. 소수를 따를 수 있습니다. DECIMAL 열의 값은 소수자릿수 9자리를 4바이트로 압축하는 이진 형식을 사용하여 저장됩니다.

각 값의 정수 및 소수 부분에 대한 저장소 요구 사항은 별도로 결정됩니다. 9자리 의 각 배수에는 4바이트가 필요하며 남은 자릿수에는 4바이트의 일부가 필요합니다. 나머지 숫자에 필요한 저장소는 다음 표에 의해 제공됩니다. MySQL은 FLOAT(M, D) 또는 REAL(M, D) 또는 이중 정밀도(M, D)와 같은 비표준 구문을 허용합니다. 여기서 “(M,D)”는 값보다 최대 M 자리까지 저장할 수 있으며, 그 중 D 자리는 소수점 이후일 수 있습니다. 예를 들어 FLOAT(7,4)로 정의된 열은 표시될 때 -999.9999처럼 보입니다. MySQL은 값을 저장할 때 반올림을 수행하므로 FLOAT(7,4) 열에 999.00009를 삽입하면 대략적인 결과는 999.0001입니다. 정확한 값 소수점 수와 관련된 계산은 65자리까지 정확합니다.

이는 MySQL 5.0.3(254자리) 이전에 허용되는 최대 자릿수보다 적지만 정확한 값 정밀도는 더 큽습니다. 이전에는 52비트(소수점 약 15자리)의 정밀도를 가진 이중 정밀부 부동점으로 계산이 수행되었습니다. 예를 들어 DECIMAL(18,9) 열에는 소수점의 양쪽에 9자리숫자가 있으므로 정수 부분과 소수 부분에각각 4바이트가 필요합니다. 소수점(20,6) 열에는 14개의 정수 숫자와 6개의 소수 자릿수가 있습니다. 정수 숫자는 9자리에 대해 4바이트, 나머지 5자리숫자에는 3바이트가 필요합니다. 6개의 소수 자릿수에는 3바이트가 필요합니다. 표준 SQL은 급여 열에 5자리 숫자와 소수두 자리로 값을 저장할 수 있어야 합니다. 따라서 급여 열에 저장할 수 있는 값의 범위는 -999.99에서 999.99입니다.

カテゴリー: 未分類 パーマリンク