π DECIMAL
: decimal μ ν° μ«μλ₯Ό μ²λ¦¬ν λ μ¬μ©νλ€. ( -10^38+1 ~ 10^38-1 )
βοΈ decimal μ μ£Όλ‘ μ¬μ©νλ λ°μ΄ν°
1. κΈμ‘ λ° κ°κ²© λ°μ΄ν°
- ν΅ν λ¨μλ₯Ό ν¬ν¨ν κΈμ‘μ΄λ κ°κ²© μ 보λ μ νν μμ§λ² μ°μ°μ μꡬνλ€.
DECIMALμ νν κ°μ μ νμ±μ μ μ§νλ©΄μ μ°μ°μ μνν μ μλ€.
2. μΈκΈ λ° νμ¨ λ°μ΄ν°
- μΈκΈμ΄λ ν μΈμ¨κ³Ό κ°μ λΉμ¨μ μμμ μλμ μ λ°λλ₯Ό νμλ‘ νλ€.
μλ₯Ό λ€μ΄, 5% ν μΈμ¨μ μ νν νννλ €λ©΄ μμμ μλ 2μ리μ μ λ°λκ° νμνλ€.
3. 물리μ μΈ‘μ
- 무κ², κΈΈμ΄, λΆνΌμ κ°μ 물리μ μΈ‘μ κ°λ€λ μ νν μ°μ°μ μν΄ DECIMALμ μ¬μ©ν μ μλ€.
4. λΉμ¨ λ° λ°±λΆμ¨
- μ΄λ€ κ°μ΄ μ 체μ λν λΉμ¨μ λνλ΄λ κ²½μ° DECIMALμ μ¬μ©νμ¬ μ νν κ³μ°μ μνν μ μλ€.
βοΈ decimal μ μ¬μ©νλ μ΄μ
: λΆλ μμμ (floating-point) μ°μ°μ μ νμ± λ¬Έμ λλ¬Έ
λΆλ μμμ μ μ΄μ§λ²μ μ¬μ©νμ¬ μ€μλ₯Ό νννλ λ°©μμΈλ°, μ΄μ§λ²μΌλ‘ μ ννκ² ννν μ μλ μμμ μλ€μ΄ μ‘΄μ¬νλ€. μ΄λ λλ‘ μ°μ° μ μμμ μλμ κ°λ€μ΄ μ ννμ§ μκ² λμ΄ κ²°κ³Όκ° μμκ³Ό λ€λ₯Ό μ μμμ μλ―Ένλ€. μ΄λ λκ³Ό κ°μ μ νν κΈμ‘μ λ€λ£° λ ν° λ¬Έμ κ° λ μ μλ€.
μλ₯Ό λ€μ΄, λΆλ μμμ μ μ¬μ©νμ¬ 0.1κ³Ό 0.2λ₯Ό λνλ©΄ 0.3μ΄ μλ κ·Όμ¬κ°μ΄ λμ¬ μ μλ€.
λ°λ©΄μ DECIMAL λ°μ΄ν° νμ μ κ³ μ μμμ μ μ¬μ©νμ¬ μμ§λ²μΌλ‘ κ°μ μ μ₯νλ€. μ΄λ κΈμ΅ κ³μ°κ³Ό κ°μ΄ μ νν κ°μ΄ νμν μν©μμ μ ν©νλ€. DECIMALμ μ νν μμμ μμΉλ₯Ό μ μ§νλ©°, κ³μ°μ ν λ μμμ μλμ μ λ°λλ₯Ό 보μ₯νλ€. λ°λΌμ λκ³Ό κ°μ κΈμ‘μ μ μ₯νκ³ λ€λ£° λ μμμ μ°μ°μ μ νμ±μ 보μ₯νκΈ° μν΄ DECIMAL λ°μ΄ν° νμ μ μ¬μ©νλ κ²μ΄ μ’λ€.
βοΈ decimal μ¬μ©λ²
DECIMAL λ°μ΄ν° νμ μ μ¬μ©μκ° μ νν μμμ μμΉμ μμμ μλμ μ«μ κ°μλ₯Ό μ μν μ μλ€.
μλ₯Ό λ€μ΄,
DECIMAL(10, 2)μ μ΄ 10μ리μ μ«μλ₯Ό νννλ©°, μμμ μλμ 2μ리μ μ«μλ₯Ό κ°μ§ μ μλ€λ κ²μ μλ―Ένλ€.
1. μ΄ μ μ
CREATE TABLE transactions (
transaction_id INT PRIMARY KEY,
amount DECIMAL(10, 2)
);
μμ μμμμ amount μ΄μ μ΅λ 10μ리μ μ«μλ₯Ό νμ©νλ©°, μμμ μλμ 2μ리μ μ«μλ₯Ό κ°μ§ μ μλ€.
2. κ° μ μ₯
INSERT INTO transactions (transaction_id, amount)
VALUES (1, 123.45);
μμ μμμμ 123.45λ DECIMAL(10, 2)μ λ§λ νμμΌλ‘ μ μ₯λλ€.
3. κ° κ²μ
SELECT transaction_id, amount
FROM transactions
WHERE amount > 100;
DECIMAL κ°μ λΉκ΅νκ±°λ κ²μν λλ μ νν μμ§λ² μ°μ°μ ν΅ν΄ κ²°κ³Όλ₯Ό μ»μ μ μλ€.
4. μ°μ°
UPDATE transactions
SET amount = amount + 10.50
WHERE transaction_id = 1;
DECIMAL κ°μ μ°μ°ν λλ μμμ μλμ μ λ°λκ° μ μ§λλ©°, μ νν κ²°κ³Όκ° λμ¨λ€.
β κ·Όλ°!! Java μμλ μ¬μ©λ²μ΄ μ‘°κΈ λ€λ₯΄λ€.
BigDecimal sum = value1.add(value2); // λ§μ
BigDecimal difference = value1.subtract(value2); // λΊμ
BigDecimal product = value1.multiply(value2); // κ³±μ
BigDecimal quotient = value1.divide(value2, BigDecimal.ROUND_HALF_UP); // λλμ
'Back > DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [DB] PostgreSQL κ³Ό MariaDB μ νΉμ§, μ°¨μ΄μ (5) | 2023.07.18 |
|---|---|
| [DB] μ€νλ§ νΈλμμ (0) | 2023.05.18 |
| [DB] QueryDSL (0) | 2023.05.12 |
| [DB] JPA (0) | 2023.05.12 |
| [DB] MyBatis (0) | 2023.05.09 |