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

ตั้งค่า MySQL DECIMAL ด้วยความแม่นยำ 10 หลักหลังเครื่องหมายจุลภาค?


ดังที่คุณทราบวิธี DECIMAL() ใช้พารามิเตอร์สองตัว พารามิเตอร์แรกบอกเกี่ยวกับจำนวนหลักทั้งหมด และพารามิเตอร์ที่สองบอกเกี่ยวกับจำนวนหลักหลังจุดทศนิยม ดังนั้น หากคุณใช้ DECIMAL(10,10) แสดงว่าคุณสามารถใช้เศษส่วนได้เพียง 10 หลัก

ตัวอย่างเช่น เก็บ 0.9999999999 ด้วย DECIMAL(20,10)

เพื่อให้เข้าใจสิ่งที่เรากล่าวถึงข้างต้น ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตารางมีดังนี้:

mysql> สร้างตาราง Decimal_Demo -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Price DECIMAL(20,10), -> PRIMARY KEY(Id) -> );Query OK, 0 แถวได้รับผลกระทบ (1.06 วินาที) 

ตอนนี้คุณสามารถแทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามที่จะแทรกบันทึกมีดังนี้:

mysql> แทรกลงในค่า Decimal_Demo(ราคา) (7475433123.1727374747) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที) mysql> แทรกลงในค่า Decimal_Demo(ราคา) (999.9999999999); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที) mysql> แทรกลงในค่า Decimal_Demo(ราคา) (1363645345.1726364664) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.16 วินาที) mysql> แทรกลงในค่า Decimal_Demo(ราคา) (1.172636466437475656565) แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว คำเตือน 1 ครั้ง (0.53 วินาที) mysql> แทรกลงในค่า Decimal_Demo(ราคา) (0.9999999999);ค้นหาตกลง ได้รับผลกระทบ 1 แถว (0.20 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้:

mysql> เลือก *จาก Decimal_Demo;

ต่อไปนี้เป็นผลลัพธ์:

<ก่อนหน้า>+----+----------------------+| รหัส | ราคา |+----+----------------------+| 1 | 7475433123.1727374747 || 2 | 999.99999999999 || 3 | 1363645345.1726364664 || 4 | 1.1726364664 || 5 | 0.9999999999 |+----+----------------------+5 แถวในชุด (0.00 วินาที)