Loading...
MySQL 9.5 Reference Manual 9.5의 14.25 Precision Math의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
14.25.1 Types of Numeric Values 14.25.2 DECIMAL Data Type Characteristics 14.25.3 Expression Handling 14.25.4 Rounding Behavior 14.25.5 Precision Math Examples
MySQL은 정밀 수학(precision math)을 지원합니다. 이는 잘못된 값에 대해 높은 수준의 제어를 제공하면서도 극도로 정확한 결과를 산출하는 숫자 값 처리 방식입니다. Precision math는 다음 두 가지 기능을 기반으로 합니다:
서버가 잘못된 데이터를 허용하거나 거부하는 데 얼마나 엄격할지를 제어하는 SQL 모드
고정 소수점 산술 연산을 위한 MySQL 라이브러리
이러한 기능들은 숫자 연산에 여러 가지 영향을 미치며, 표준 SQL과의 높은 수준의 호환성을 제공합니다:
정밀한 계산: 정확 값(exact-value) 숫자에 대해 계산 시 부동 소수점 오류가 발생하지 않습니다. 대신 정확한 정밀도가 사용됩니다. 예를 들어, MySQL은 .0001과 같은 숫자를 근사값이 아닌 정확 값으로 취급하며, 이를 10,000번 더하면 정확히 1이 되고, 1에 “가까운” 값이 되지 않습니다.
명확하게 정의된 반올림 동작:
정확 값 숫자에 대해 ROUND()의 결과는 기본 C 라이브러리가 어떻게 동작하는지와 같은 환경적인 요인에 의존하지 않고, 인자 자체에만 의존합니다.
플랫폼 독립성:
Windows와 Unix 같은 서로 다른 플랫폼에서도 정확 숫자 값에 대한 연산은 동일하게 동작합니다.
잘못된 값 처리에 대한 제어:
오버플로와 0으로 나누기 연산은 감지 가능하며, 오류로 처리할 수 있습니다. 예를 들어, 컬럼에 비해 값이 너무 큰 경우, 그 값을 컬럼 데이터 타입의 범위에 맞도록 잘라내는 대신 오류로 처리할 수 있습니다. 마찬가지로, 0으로 나누는 연산을 NULL 결과를 생성하는 연산이 아니라 오류로 처리할 수 있습니다. 어느 방식을 사용할지는 서버 SQL 모드 설정에 의해 결정됩니다.
다음 설명에서는 precision math가 작동하는 여러 측면과 기존 애플리케이션과의 잠재적인 비호환성을 다룹니다. 마지막에는 MySQL이 숫자 연산을 어떻게 정밀하게 처리하는지를 보여 주는 몇 가지 예제가 제시됩니다. SQL 모드를 제어하는 방법에 대한 정보는 Section 7.1.11, “Server SQL Modes”를 참조하십시오.
14.24 Miscellaneous Functions
14.25.1 Types of Numeric Values