이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다와이즈 토토 : 문서 : 17 : 8.2. 금전적 유형버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

8.2. 금전적 유형

theMoney유형은 통화 금액을 저장합니다 고정 분수 정밀도; 보다표 8-3. 그만큼 분수 정밀도는 데이터베이스의에 의해 결정됩니다.lc_monetary설정. 테이블에 표시된 범위는 두 개가 있다고 가정합니다. 분수 숫자. 입력은 다양한 형식으로 허용되며 정수 및 부동 소수점 리터럴을 포함하고 전형적인 와 같은 통화 형식'$ 1,000.00'. 출력은 일반적으로 후자의 형태이지만 장소.

표 8-3. 금전적 유형

이름 스토리지 크기 설명 범위
Money 8 바이트 통화 금액 -92233720368547758.08 ~ +9223372036854758.07

이 데이터 유형의 출력은 로케일에 민감하기 때문에 로드하기 위해 작동하지 않음Money데이터베이스에 데이터 다른 설정이 있습니다lc_monetary. 문제를 피하기 위해 복원하기 전에 새 데이터베이스에 덤프하십시오lc_monetary버려진 데이터베이스.

숫자, intbigint데이터 유형이 될 수 있습니다 캐스트Money. 에서 전환Real이중 정밀도데이터 캐스트를 통해 유형을 수행 할 수 있습니다숫자첫 번째, 예 :

선택 '12 .34 ':: float8 :: numeric :: money;

그러나 이것은 권장되지 않습니다. 플로팅 포인트 번호가 있어야합니다 반올림 가능성으로 인해 돈을 다루는 데 사용되지 않습니다. 오류.

aMoney값을 캐스트 할 수 있습니다숫자정밀도 손실없이. 다른 것으로 전환 유형은 잠재적으로 정밀도를 잃을 수 있으며 두 단계 :

선택 '52093.89':: money :: numeric :: float8;

aMoney정수에 의한 가치 값은 분수 부분의 절단으로 수행됩니다. 영. 둥근 결과를 얻으려면 부동 소수점 값으로 나누거나 캐스트Moneyvalue to숫자나누기 전 전Money나중에. (후자는 피하는 것이 바람직하다 정밀도 손실 위험.) AMoney값 다른 사람으로 나뉘어져Money값, 결과 이다이중 정밀(즉, 순수한 숫자가 아닙니다 돈); 통화 장치는 서로를 취소합니다 분할.