source

MySQL에 금전적 가치를 저장하기에 최적의 데이터 유형

manysource 2022. 11. 24. 21:42

MySQL에 금전적 가치를 저장하기에 최적의 데이터 유형

MySQL の my my my my my my 。그것들은 모두 돈의 가치를 포함하고 있다.그런데 한 개에 몇 자리씩 들어갈지 모르겠어요.
이 목적을 위해 어떤 데이터 유형을 사용해야 합니까?
VARCHAR 또는 INT(또는 기타 수치 데이터 유형)

은 정확한 float. 은 '고정 소수점 숫자'와 같이 할 수

decimal(15,2)
  • 15정밀도(소수 자릿수를 포함한 값의 총 길이)입니다.
  • 2입니다.

MySQL 수치 유형 참조:

이러한 유형은 통화 데이터와 같이 정확한 정밀도를 유지하는 것이 중요한 경우에 사용됩니다.

하시면 됩니다.DECIMAL ★★★★★★★★★★★★★★★★★」NUMERIC 다 같다

DECIMAL 및 NUMERIC 유형은 정확한 숫자 데이터 값을 저장합니다.이러한 유형은 통화 데이터와 같이 정확한 정밀도를 유지하는 것이 중요한 경우에 사용됩니다.MySQL에서는 NUMERIC은 DIMAL로 구현되어 있기 때문에 DIMAL에 대한 다음 코멘트는 NUMERIC과 동일하게 적용됩니다. : MySQL

예. DECIMAL(10,2)

설정 예

읽기 좋다

사용하는 것을 선호합니다.BIGINT100을 곱한 값을 에 저장하여 정수가 되도록 합니다.

를 들어, 통화 을 를로 , 화로 합니다.93.49、 음 、 음 、 음 음 、 장 장 한 , , , , , , , , , , , , ,9349값을 100으로 나누어 표시할 수 있습니다.이렇게 하면 스토리지 공간을 덜 차지합니다.

★★★★
공연을 하지 currency * currency곱셈을 하는 경우에는 100으로 나누어 저장하여 적절한 정밀도로 되돌립니다.

당신의 필요에 따라 달라요.

「」를 사용합니다.DECIMAL(10,2)더에는 값을 설정할 수 .DECIMAL(10,4).

를 바꿉니다.1019.

어플리케이션에서 최대 1조원의 비용가치를 처리할 필요가 있는 경우: 13,2 GAAP(Generally Accepted Accounting Principle)에 준거할 필요가 있는 경우: 13,4

일반적으로 13,2로 반올림하기 전에 화폐 값을 13,4로 합해야 합니다.

는 용용 we we we we we we we we wedouble.

*스태프*

왜요?

소수점 위치에 제약 없이 임의의 15자리 숫자를 나타낼 수 있기 때문입니다.이 모든 것을 8바이트로!

다음과 같은 특징이 있습니다.

  • 0.123456789012345
  • 123456789012345.0

...그리고 그 사이에 있는 모든 것.

이것은 글로벌 통화를 취급하고 있기 때문에 편리합니다.double소수점 이하를 다양하게 저장할 수 있습니다.

★★★double, , 999, , 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999, 999를 수

같은 방법으로 시도하면decimal 「」가 합니다.decimal(30, 15)열네 살이에요.

주의사항

,, 론을 요.double이치노

하지만, 일부에서 지적하는 것처럼 정확성의 상실은 아닙니다.그럼에도 불구하고.double그 자체는 베이스 10 시스템에 대해 내부적으로 정확하지 않을 수 있습니다.데이터베이스에서 추출한 을 소수점 이하의 중요한 자리까지 반올림함으로써 정확하게 만들 수 있습니다.필요한 경우, 즉 (예를 들어 출력되는 경우, base 10 표현 필요)

여기서 주의할 점은 계산을 수행할 때마다 (중요한 소수점 이하 자리로 반올림하여) 결과를 정규화할 필요가 있다는 것입니다.

  1. 비교 수행 중.
  2. 데이터베이스에 다시 쓰는 중입니다.

하나 할 점은 른른른른른른 와는 달리decimal(m, d)이 데데 where음 음음음 음음음 음음음 음음음음 음 where where where where where 보다 큰 숫자를 삽입하는 것을 합니다.m.double가 입력한 할 수 양으로 될 수 . 프로그램은 사용자가 입력한 20자리 값을 삽입할 수 있으며, 부정확한 양으로 기록될 수 있습니다.

Bitcoin을 사용하세요. BTC를 할 수 .DECIMAL(15,2)한다면, $10,000 Bitcoin, $ Bitcoin이 필요합니다.DECIMAL(18,9)앱에서 암호화 화폐를 지원합니다.

DECIMAL(18,9)는 MySQL에서 12바이트(9자리당 4바이트)의 공간을 사용합니다.

GAAP 준수가 필요한 경우 또는 소수점 이하 4자리까지 필요한 경우:

DECIMAL(13, 4): 최대값:

$999,999,999.9999

그 이외의 경우는 소수점 2자리수면 충분합니다.DISTAL ( 13 , 2 )

src: https://rietta.com/blog/best-data-types-for-currencymoney-in/

사실 이것은 프로그래머의 취향에 달려있다.으로 사용하는 것은 ★★★★★★★★★★★★★:numeric(15,4)GAAP(General Accepted Accounting Principle:일반적으로 인정된 회계원칙)에 준거한다.

사용해보십시오.

Decimal(19,4)

이것은 보통 다른 모든 DB에서도 동작합니다.

자금의 저장BIGINT스토리지 공간을 적게 사용해야 한다는 이유로 100을 곱한 것은 모든 "정상" 상황에서 의미가 없습니다.

10000을 곱하여 Visual Basic 및 Office의 "Currency"와 같이 BIGINT로 저장합니다.https://msdn.microsoft.com/en-us/library/office/gg264338.aspx 를 참조해 주세요.

언급URL : https://stackoverflow.com/questions/13030368/best-data-type-to-store-money-values-in-mysql