Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: การเก็บค่าทศนิยม (DECIMAL) พร้อม Precision และ Scale


เก็บค่าทศนิยมใน MySQL ใช้ DECIMAL ต้องเข้าใจ 2 พารามิเตอร์:

Syntax:

DECIMAL(total_digits, digits_after_decimal);

ตัวอย่าง: DECIMAL(4,2)

    หมายถึง: รวม 4 หลัก สูงสุด 2 หลักหลังจุดทศนิยม

    • พารามิเตอร์แรก: จำนวนหลักทั้งหมด (รวมฝั่งหน้าจุดทศนิยม)
    • พารามิเตอร์ที่สอง: จำนวนหลักหลังจุดทศนิยม

    ค่าที่ Valid:

    • 12.34 ✓ (2 หน้าจุด, 2 หลังจุด)
    • 12.4 ✓ (2 หน้าจุด, 1 หลังจุด)
    • .2345 ✓ → เก็บเป็น 0.23 (ปัด/ตัดทิ้ง)
    • 1.234 ✓ → เก็บเป็น 1.23

    ค่าที่ Invalid (Out of range):

    • 123.4 ✗ (3 หน้าจุด > 2)
    • 1234 ✗ (4 หน้าจุด > 2)
    • 1234.56 ✗ (4 หน้าจุด > 2)

    ทดสอบกับตาราง

    mysql> CREATE TABLE DecimalDemo (Amount DECIMAL(4,2));

    Insert ค่า Valid:

    mysql> INSERT INTO DecimalDemo VALUES (12.34), (12.4), (.2345), (1.234);

    ผลลัพธ์

    +--------+
    | Amount |
    +--------+
    | 12.34  |
    | 12.40  |
    | 0.23   |
    | 1.23   |
    +--------+