데이터베이스에서 숫자의 정밀도와 스케일을 어떻게 해석합니까?
데이터베이스에 다음 열이 지정되어 있습니다. decimal (5,2)
이것을 어떻게 해석합니까?
SQL Server Management Studio에서 볼 때 열의 속성에 따르면 십진수 (숫자 정밀도, 숫자 스케일)를 의미합니다.
정밀도와 스케일은 실제 용어의 의미는 무엇입니까?
이것을 5 자리와 소수점 이하 두 자리가있는 10 진수로 해석하기가 쉬울 것입니다. 즉 12345.12
추신 : 나는 동료로부터 정답을 결정할 수 있었지만 온라인에서 답을 찾는 데 큰 어려움을 겪었습니다. 따라서 나중에 참조 할 수 있도록 질문과 대답을 여기에 문서화하고 싶습니다.
숫자 정밀도는 숫자에있는 최대 자릿수를 나타냅니다.
1234567.89의 정밀도는 9입니다
숫자 스케일은 최대 소수점 이하 자릿수를 나타냅니다.
즉 123456.789의 척도는 3입니다.
따라서 decimal (5,2)에 허용되는 최대 값은 999.99입니다.
숫자의 정밀도는 자릿수입니다.
숫자의 스케일은 소수점 뒤의 자릿수입니다.
필드 정의에서 정밀도 및 스케일을 설정할 때 일반적으로 암시하는 것은 최대 값 을 나타냅니다 .
예, 진수 필드로 정의 precision=5
하고 scale=2
다음과 같은 값을 허용합니다 :
123.45
(p = 5, s = 2)12.34
(p = 4, s = 2)12345
(p = 5, s = 0)123.4
(p = 4, s = 1)0
(p = 0, s = 0)
다음 값은 허용되지 않거나 데이터 손실을 일으킬 수 있습니다.
12.345
(p = 5, s = 3) =>12.35
(p = 4, s = 2) 로 잘릴 수 있습니다.1234.56
(p = 6, s = 2) =>1234.6
(p = 5, s = 1) 로 잘릴 수 있습니다.123.456
(p = 6, s = 3) =>123.46
(p = 5, s = 2) 로 잘릴 수 있습니다.123450
(p = 6, s = 0) => 범위를 벗어남
범위는 일반적으로 정밀도로 정의됩니다. |value| < 10^p
...
SQL Server 2000 설명서의 정밀도, 스케일 및 길이 는 다음 과 같습니다.
정밀도는 숫자의 자릿수입니다. 스케일은 숫자에서 소수점 오른쪽의 자릿수입니다. 예를 들어 숫자 123.45의 정밀도는 5이고 스케일은 2입니다.
'Programing' 카테고리의 다른 글
Favicon : .ico 또는 .png / 올바른 태그? (0) | 2020.04.24 |
---|---|
Jackson에서 JSON 문자열을 JsonNode로 구문 분석하는 방법은 무엇입니까? (0) | 2020.04.24 |
자식 복제 중“https에 대한 원격 도우미를 찾을 수 없습니다” (0) | 2020.04.24 |
Django 모델에서 레코드를 삭제하는 방법은 무엇입니까? (0) | 2020.04.24 |
PHP의 함수 안에서 함수 이름을 어떻게 얻습니까? (0) | 2020.04.24 |