คุณไม่จำเป็นต้องเก็บฟิลด์ PRICE เป็น int หรือ float ในฐานข้อมูล สำหรับสิ่งนี้ คุณสามารถตั้งค่า DECIMAL()..
จำนวนเต็มเวลาส่วนใหญ่สามารถใช้แทนจำนวนจุดทศนิยมและจำนวนเต็มเหล่านี้จะถูกแปลงเป็นประเภทข้อมูล DECIMAL() ภายใน ดังนั้น หากคุณมีฟิลด์ PRICE ให้ใช้ประเภทข้อมูล DECIMAL() เสมอ ไวยากรณ์มีดังนี้ −
ทศนิยม(M,D);
โดยที่ M แทนค่า 'TotalNumberOfDigit' และ D แทนค่า 'Number OfDigitAfterDecimalPoint'
เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางที่มีฟิลด์ PRICE เป็นประเภทข้อมูล DECIMAL แบบสอบถามมีดังนี้ −
mysql> สร้างตาราง Decimal_Demo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> PRICE DECIMAL(18,2), -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (1.63 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −
mysql> แทรกลงในค่า Decimal_Demo(PRICE) (99999999999999.99) เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า Decimal_Demo(PRICE) (10000000000000.99); เคียวรีตกลง 1 แถวได้รับผลกระทบ (0.36 วินาที)
ตอนนี้คุณสามารถแสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −
mysql> เลือก *จาก Decimal_Demo;
ต่อไปนี้เป็นผลลัพธ์ -
<ก่อนหน้า>+----+-------------------+| รหัส | ราคา |+----+-------------------+| 1 | 99999999999999.99 || 2 | 10000000000000.99 |+----+-------------------+2 แถวในชุด (0.00 วินาที)