2024/04/02 2

[MySQL] 기본값은 decimal(10,0), 최대값은 decimal(65,38)

decimal(p,s) p는 전체 숫자의 자릿수, s는 소수점 이하 자릿수 가능한 값의 범위는 -(10^p - 1)/(10^s)에서 (10^p - 1)/(10^s)까지 decimal(3,1)인 경우 가능한 값의 범위는 -9.9에서 9.9까지 MySQL 기본값은 decimal(10,0), 최대값은 decimal(65,38) [출처] https://dev.mysql.com/doc/refman/8.3/en/fixed-point-types.html#:~:text=In%20standard%20SQL%2C%20the%20syntax,value%20of%20M%20is%2010. MySQL :: MySQL 8.3 Reference Manual :: 13.1.3 Fixed-Point Types (Exact Value)..

카테고리 없음 2024.04.02

[MySQL] 소수점이 있는 금액의 타입은 float? float, double 절대 금지! decimal 또는 string로 지정하자!

글로벌 서비스에서 환전한 금액이 아닌 해당 통화의 금액으로 데이터를 저장해야 하는 상황이 생겨 소수점이 있는 금액 데이터에 대해 고려하며 알게 된 사실이다. 소수점이면 float나 double이겠지라고 생각하고 DB 칼럼의 타입을 지정했다가는 근사치 값으로 연산이 이뤄지는 불상사가 일어날 수 있다. 아래 사진에서와 같이 MySQL 문서에서도 아예 제목 옆에 'Approximate Value(근사값)'라고 적고 있다. [출처] https://dev.mysql.com/doc/refman/8.3/en/floating-point-types.html 보다 직관적으로 말하지면 부동소수점(float, double)의 경우 아래와 같이 저장되고 출력된다. 1. FLOAT에 16777217을 입력하면 16777216이 ..

언어/MySQL 2024.04.02