ในการจัดเรียงหมายเลขสตริง ให้ใช้ฟังก์ชัน CAST() จาก MySQL ไวยากรณ์มีดังนี้ −
เลือก *FROM yourTableName ORDER BY (yourColumnName as Decimal(integerValue,integerValueAfterDecimalPoint)) desc;
เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง SortingStringDemo-> (-> จำนวน varchar(10)-> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.91 วินาที)
แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้
mysql> แทรกลงในค่า SortingStringDemo ('12.34'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.21 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('124.50'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.56 วินาที) mysql> แทรก ลงในค่า SortingStringDemo ('9.59'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.20 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('150.68'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า SortingStringDemo ('600.54 ');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.11 วินาที)
แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้
mysql> เลือก *จาก SortingStringDemo;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+| จำนวน |+-------+| 12.34 || 124.50 || 9.59 || 150.68 || 600.54 |+--------+5 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อจัดเรียงหมายเลขสตริงจากมากไปหาน้อย
mysql> เลือก *จาก SortingStringDemo เพื่อเรียงลำดับตาม cast(Amount as Decimal(6,2)) desc;
ต่อไปนี้เป็นผลลัพธ์
<ก่อนหน้า>+---------+| จำนวน |+-------+| 600.54 || 150.68 || 124.50 || 12.34 || 9.59 |+-------+5 แถวในชุด (0.00 วินาที)