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)
사용하는 것을 선호합니다.BIGINT
100을 곱한 값을 에 저장하여 정수가 되도록 합니다.
를 들어, 통화 을 를로 , 화로 합니다.93.49
、 음 、 음 、 음 음 、 장 장 한 , , , , , , , , , , , , ,9349
값을 100으로 나누어 표시할 수 있습니다.이렇게 하면 스토리지 공간을 덜 차지합니다.
★★★★
공연을 하지currency * currency
곱셈을 하는 경우에는 100으로 나누어 저장하여 적절한 정밀도로 되돌립니다.
당신의 필요에 따라 달라요.
「」를 사용합니다.DECIMAL(10,2)
더에는 값을 설정할 수 .DECIMAL(10,4)
.
를 바꿉니다.10
19
.
어플리케이션에서 최대 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 표현 필요)
여기서 주의할 점은 계산을 수행할 때마다 (중요한 소수점 이하 자리로 반올림하여) 결과를 정규화할 필요가 있다는 것입니다.
- 비교 수행 중.
- 데이터베이스에 다시 쓰는 중입니다.
하나 할 점은 른른른른른른 와는 달리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을 곱한 것은 모든 "정상" 상황에서 의미가 없습니다.
- 는 GAAP에 합니다.
DECIMAL(13,4)
- 에 따르면 MySQL을 합니다.
DECIMAL
를 클릭합니다. DECIMAL(13,4)
+ 4 자리4 + 26 자리 + 4 자리 (소수 자리)=> 4 + 2 자리 = 6 자리- 8바이트를 저장하기
BIGINT
.
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
'source' 카테고리의 다른 글
경고: [bootstrap]클래스 경로가 -source 1.5와 함께 설정되지 않음 (0) | 2022.11.24 |
---|---|
AWS RDS 인스턴스 업그레이드 중단 시간 (0) | 2022.11.24 |
Google 지도에서 위도와 경도에서 주소 위치를 얻는 방법 (0) | 2022.11.24 |
플랫폼에 의존하는 새로운 행 문자를 얻으려면 어떻게 해야 하나요? (0) | 2022.11.24 |
Larabel이 피벗 테이블에 여러 레코드를 추가하지 않음 (0) | 2022.11.24 |