| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 스포츠 토토 결과 유형 | PostgreSQL : 문서 : 9.3 : 데이터 윈 토토 | 8장. 데이터 유형 | PostgreSQL : 문서 : 9.3 : 배트맨 토토 유형 | |
그돈유형은 통화 금액을 저장합니다. 고정된 분수 정밀도로; 참조표 8-3. 는 fractional precision is determined by the database'slc_monetary설정. 표에 표시된 범위는 두 가지가 있다고 가정합니다. 분수. 다양한 형식으로 입력이 허용됩니다. 정수 및 부동 소수점 리터럴뿐만 아니라 일반적인 통화 형식(예:'$1,000.00'. 출력은 일반적으로 후자 형식이지만 다음에 따라 다릅니다. 로케일.
이 데이터 유형의 출력은 로케일을 구분하므로, 로드가 작동하지 않음돈데이터를 데이터베이스로 설정이 다릅니다.lc_monetary. 문제를 방지하려면 복원하기 전에 새 데이터베이스에 덤프하세요.lc_monetary다음과 같거나 동등한 값을 가집니다. 덤프된 데이터베이스.
값숫자, int및bigint데이터 유형은 다음과 같습니다. 으로 전송됨돈. 에서 변환진짜그리고배정밀도데이터 유형은 다음으로 캐스팅하여 수행할 수 있습니다.숫자먼저, 예를 들어:
SELECT '12.34'::float8::numeric::money;
그러나 이것은 권장되지 않습니다. 부동 소수점 숫자는 다음과 같습니다. 반올림 가능성이 있으므로 돈을 처리하는 데 사용하지 마십시오. 오류.
A 돈값을 다음으로 캐스팅할 수 있습니다.숫자정밀도 손실 없이. 기타로의 전환 types could potentially lose precision, and must also be done in 두 단계:
SELECT '52093.89'::money::numeric::float8;
a의 분할돈정수로 표현된 값 값은 소수 부분을 잘라내어 수행됩니다. 제로. 반올림된 결과를 얻으려면 부동 소수점 값으로 나누거나 캐스팅돈값을숫자나누기 전과 다시돈나중에. (후자는 피하는 것이 바람직하다. 정밀도 손실 위험이 있습니다.) a돈값 다른 것으로 나누어진다돈값, 결과 이다배정밀도(즉, 순수 숫자가 아닌 숫자) 돈); 통화 단위는 서로 상쇄됩니다. 구분.