복붙노트

[SQL] MySQL 데이터베이스에서 통화 값을 저장하기위한 최고의 데이터 유형

SQL

MySQL 데이터베이스에서 통화 값을 저장하기위한 최고의 데이터 유형

통화 가치에 가장 적합한 SQL 데이터 유형은 무엇입니까? 내가 MySQL을 사용하고 있지만, 데이터베이스 독립적 인 형태를 선호 할 것입니다.

해결법

  1. ==============================

    1.진수 (19,4)와 같은 뭔가가 일반적으로 대부분의 경우 꽤 잘 작동합니다. 당신은 당신이 가게에 필요한 숫자의 요구에 맞게 규모와 정밀도를 조정할 수 있습니다. 심지어 SQL 서버에서, 나는 그것이 표준이 아닌 것에 따라 "돈"을 사용하지 않는 경향이있다.

    진수 (19,4)와 같은 뭔가가 일반적으로 대부분의 경우 꽤 잘 작동합니다. 당신은 당신이 가게에 필요한 숫자의 요구에 맞게 규모와 정밀도를 조정할 수 있습니다. 심지어 SQL 서버에서, 나는 그것이 표준이 아닌 것에 따라 "돈"을 사용하지 않는 경향이있다.

  2. ==============================

    2.당신이 조심해야 할 유일한 것은 당신이 하나의 데이터베이스에서 다른 데이터베이스로 마이그레이션 할 경우 그 DECIMAL (19,4) 및 DECIMAL (19,4) 평균 다른 일을 찾을 수있다

    당신이 조심해야 할 유일한 것은 당신이 하나의 데이터베이스에서 다른 데이터베이스로 마이그레이션 할 경우 그 DECIMAL (19,4) 및 DECIMAL (19,4) 평균 다른 일을 찾을 수있다

    ( http://dev.mysql.com/doc/refman/5.1/en/precision-math-decimal-changes.html )

        DBASE: 10,5 (10 integer, 5 decimal)
        MYSQL: 15,5 (15 digits, 10 integer (15-5), 5 decimal)
    
  3. ==============================

    3.어쩌면 당신의 계산에 필요한 얼마나 많은 소수점 해결하는 것도 중요합니다.

    어쩌면 당신의 계산에 필요한 얼마나 많은 소수점 해결하는 것도 중요합니다.

    나는 백만주의 가격의 계산을 필요로하는 주가 응용 프로그램에서 일했다. 인용 된 주가 정확도의 7 자리 숫자로 저장했다.

  4. ==============================

    4.의 아사 프의 반응

    의 아사 프의 반응

    소리는 경박하지만, 실제로는 pertinant입니다.

    열 중 하나는 (GrossRate) 진수 (11,4)로 설정되어, 우리의 제품 부서 그냥 몇 가지 놀라운 리조트의 객실에 대한 계약을 얻었 기 때문에 오늘 우리는 기록은 우리의 요금 테이블에 삽입하는 데 실패하는 문제가 있었다 보라 보라, 박 수백만 태평양 프랑에 대한 그 판매 ... 데이터베이스 스키마 10 년 전 설계 할 때 anticpated 적이 뭔가있다.

  5. ==============================

    5.응용 프로그램을 회계는 정수로 값을 저장하는 것은 매우 일반적입니다 (일부는 심지어 유일한 방법 말할 정도로 멀리 갈). 아이디어를 얻으려면, 당신이 필요로하는 정확도를 얻기 위해 100, 1000, 10000 등으로 여러 (의는 $ 100.23를 가정하자) 트랜잭션의 양을. 당신은 단지 저장 센트 필요 그냥 곱셈 내 예에서 (100)에 의해 안전하게 라운드 위 또는 아래로, 저장소에 정수로 10023을 만들 것입니다 수 있도록합니다. 당신은 데이터베이스에서 공간을 절약하고 두 개의 정수를 비교하는 두 개의 수레를 비교하는 것보다 훨씬 쉽다 것이다. 내 $ 0.02.

    응용 프로그램을 회계는 정수로 값을 저장하는 것은 매우 일반적입니다 (일부는 심지어 유일한 방법 말할 정도로 멀리 갈). 아이디어를 얻으려면, 당신이 필요로하는 정확도를 얻기 위해 100, 1000, 10000 등으로 여러 (의는 $ 100.23를 가정하자) 트랜잭션의 양을. 당신은 단지 저장 센트 필요 그냥 곱셈 내 예에서 (100)에 의해 안전하게 라운드 위 또는 아래로, 저장소에 정수로 10023을 만들 것입니다 수 있도록합니다. 당신은 데이터베이스에서 공간을 절약하고 두 개의 정수를 비교하는 두 개의 수레를 비교하는 것보다 훨씬 쉽다 것이다. 내 $ 0.02.

  6. ==============================

    6.슈퍼 후반 항목 만 GAAP 엄지 손가락의 좋은 규칙입니다 ..

    슈퍼 후반 항목 만 GAAP 엄지 손가락의 좋은 규칙입니다 ..

    핸들 돈 애플리케이션의 요구가 조까지 값 경우,이 작업을해야합니다 : 13,2 당신이 GAAP (일반적으로 인정되는 회계 원칙)을 준수해야 할 경우 사용 : 13,4

    보통은 13,2에 출력의 반올림 전에 13,4에서 돈 값을 요약한다.

    출처 : 최고의 데이터 타입은 MySQL의에서 통화 값을 저장하기

  7. ==============================

    7.당신은 당신의 화폐 가치 모두를 위해 기본적으로 DECIMAL (19,2) 같은 것을 사용할 수 있지만 당신은 오직 저장 있을지 값은 귀중한 데이터베이스 공간의 낭비가 될 것이 $ 1,000 이하.

    당신은 당신의 화폐 가치 모두를 위해 기본적으로 DECIMAL (19,2) 같은 것을 사용할 수 있지만 당신은 오직 저장 있을지 값은 귀중한 데이터베이스 공간의 낭비가 될 것이 $ 1,000 이하.

    N의 값이 이전의 자릿수 적어도 여기서 대부분의 구현, DECIMAL (N, 2)가 충분하다. 가장 큰 합 혹시 당신이 이제까지 999999.99보다 큰 값을 저장하는 기대하지 않는 경우 해당 필드 + 5. 그래서에 저장 될 것으로 예상, DECIMAL (11,2)는 이상의 충분한 (기대 변화까지)이어야한다.

    당신이 회계 기준의 준수가되고 싶어요, 당신은 N의 값이 숫자의 개수가 전에 적어도입니다 DECIMAL (N, 4)로 갈 수있다. 가장 큰 합 혹시 해당 필드 + (7)에 저장 될 것으로 예상된다.

  8. ==============================

    8.그것은 데이터의 특성에 따라 달라집니다. 당신은 미리를 숙고 할 필요가있다.

    그것은 데이터의 특성에 따라 달라집니다. 당신은 미리를 숙고 할 필요가있다.

    MySQL은 할 수 있지만 당신은 규모에 대한 진수 (65,30), (31)를 사용하고 우리는 열린 전송 옵션를 마칠 경우 정밀도 (30)는 우리의 한계 것 같다.

    가장 일반적인의 RDBMS에서 최대 규모와 정밀도 :

                Precision   Scale
    Oracle      31          31
    T-SQL       38          38
    MySQL       65          30
    PostgreSQL  131072      16383
    

    6, 7, 8, 9

    우리는 "그래, 확실히 ... 내가 그 미친 인물이 필요하지 않습니다"라고하는 경향이있다. 음, 짐바브웨도 그런 말을하는 데 사용됩니다. 얼마 전합니다.

    의 당신은 짐바브웨 달러로 1 백만 달러의 거래 기록 할 필요가 상상하자 (아마 않을 오늘,하지만 사람이 지금부터 10 년처럼 보일 것입니다 방법을 알고?).

  9. ==============================

    9.이 늦을 수 있지만, 그러나 그것은 누군가 else.From 내 경험에 도움이 될 나는 PHP와 MySQL로 작업 할 때 저놈이 알고 진수 (19, 6)을 받아왔다 연구합니다. 돈과 환율의 많은 양의 작업을 할 때

    이 늦을 수 있지만, 그러나 그것은 누군가 else.From 내 경험에 도움이 될 나는 PHP와 MySQL로 작업 할 때 저놈이 알고 진수 (19, 6)을 받아왔다 연구합니다. 돈과 환율의 많은 양의 작업을 할 때

  10. from https://stackoverflow.com/questions/628637/best-data-type-for-storing-currency-values-in-a-mysql-database by cc-by-sa and MIT license