그돈배트맨 토토은 고정된 분수 정밀도로 통화 금액을 저장합니다. 참조표 8.3. 분수 정밀도는 데이터베이스의에 의해 결정됩니다.lc_monetary설정. 표에 표시된 범위는 두 개의 소수 자릿수가 있다고 가정합니다. 입력은 정수 및 부동 소수점 리터럴은 물론 다음과 같은 일반적인 통화 형식을 포함한 다양한 형식으로 허용됩니다.'$1,000.00'. 출력은 일반적으로 후자 형식이지만 로케일에 따라 다릅니다.
표 8.3. 화폐 유형
| 이름 | 저장소 크기 | 설명 | 범위 |
|---|---|---|---|
돈 |
8바이트 | 통화 금액 | -92233720368547758.08 ~ +92233720368547758.07 |
이 데이터 배트맨 토토의 출력은 로케일을 구분하므로 로드가 작동하지 않을 수 있습니다.돈설정이 다른 데이터베이스에 데이터lc_monetary. 문제를 방지하려면 덤프를 새 데이터베이스로 복원하기 전에 다음을 확인하세요.lc_monetary덤프된 데이터베이스와 동일하거나 동등한 값을 가집니다.
값숫자, int및bigint데이터 유형을 다음으로 변환할 수 있습니다.돈. 에서 변환실제그리고배정밀도다음으로 캐스팅하여 데이터 유형을 수행할 수 있습니다.숫자먼저, 예를 들어:
'12.34'::float8::숫자::돈;
그러나 이는 권장되지 않습니다. 반올림 오류가 발생할 수 있으므로 부동 소수점 숫자를 사용하여 돈을 처리해서는 안 됩니다.
A 돈값은 다음으로 변환될 수 있습니다.숫자정밀도 손실 없이. 다른 배트맨 토토으로의 변환은 잠재적으로 정밀도를 잃을 수 있으며 두 단계로 수행되어야 합니다.
SELECT '52093.89'::money::숫자::float8;
a의 분할돈정수 값에 의한 값은 소수 부분을 0으로 자르면서 수행됩니다. 반올림된 결과를 얻으려면 부동 소수점 값으로 나누거나돈값을숫자나누기 전과 다시돈나중에. (정밀도 손실 위험을 피하려면 후자가 더 좋습니다.) a돈값이 다른 값으로 나뉩니다돈값, 결과는배정밀도(즉, 돈이 아닌 순수한 숫자); 통화 단위는 부서에서 서로 상쇄됩니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.