DECIMAL 데이터 타입 (=NUMERIC)
MySQL에서 DECIMAL은 고정 소수점 숫자를 저장하는 데 사용되는 데이터 타입입니다. 이는 소수 부분의 자릿수를 정확하게 유지하고 저장할 수 있도록 설계되어 있습니다.
DECIMAL 데이터 타입의 특징
1. 고정 소수점 값 저장
DECIMAL은 고정된 소수 부분의 자릿수를 갖는 실수 값을 저장합니다.
예를 들어, DECIMAL(8,2)은 총 8자리의 숫자 중에서 소수 부분이 2자리까지 저장할 수 있습니다.
2. 정확한 소수 값 표현
DECIMAL은 정확한 소수 값을 유지하므로 부동 소수점 방식에서 발생할 수 있는 정확성 손실을 피할 수 있습니다.
3. 금융 및 정밀한 계산에 적합
금융 관련 데이터나 정밀한 계산이 필요한 경우에 DECIMAL을 사용합니다.
DECIMAL 데이터 타입의 적절한 사용 사례
1. 금액이나 금융 데이터 저장
통화 금액, 금리 등과 같이 정확한 소수 값이 필요한 금융 데이터를 저장할 때 DECIMAL을 사용합니다.
2. 계산 결과 정확성이 중요한 경우
부동 소수점 방식에서 정확성이 중요한 계산 결과를 저장할 때 DECIMAL을 활용합니다.
3. 세금, 할인율 등의 특수한 비율 저장
정확한 비율이 필요한 경우, 예를 들어 세금이나 할인율과 같은 특수한 비율을 저장할 때 DECIMAL을 사용합니다.
DECIMAL 데이터 타입 예제
-- 테이블 생성
CREATE TABLE invoices (
invoice_id INT PRIMARY KEY,
total_amount DECIMAL(10, 2),
tax_rate DECIMAL(5, 3)
);
-- 데이터 삽입
INSERT INTO invoices (invoice_id, total_amount, tax_rate)
VALUES (1, 125.75, 0.075);
INSERT INTO invoices (invoice_id, total_amount, tax_rate)
VALUES (2, 89.99, 0.05);
-- 데이터 조회
SELECT *
FROM invoices;
위 예제에서 `total_amount`와 `tax_rate` 열은 각각 DECIMAL(10,2)와 DECIMAL(5,2)으로 정의되어 있습니다. 이를 통해 정확한 금액과 소수 값을 저장할 수 있습니다.
'데이터 > MySQL' 카테고리의 다른 글
[MySQL] UNIQUE 제약조건 (1) | 2023.12.06 |
---|---|
[MySQL] TINYINT(1) 데이터 타입 (2) | 2023.12.05 |
[MySQL] DATETIME 데이터 타입 (1) | 2023.12.05 |
[MySQL] INT 데이터 타입 (0) | 2023.12.05 |
[MySQL] TEXT 데이터 타입 (0) | 2023.12.05 |