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

ฉันจะเรียงลำดับตัวเลขที่บันทึกเป็น VARCHAR ใน MySQL โดยบางหมายเลขมี 0 เช่น 085, 090 เป็นต้นได้อย่างไร


ต่อไปนี้เป็นไวยากรณ์ -

เลือก *จากลำดับชื่อตารางของคุณโดย yourColumnName*1,yourColumnName;

ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( ค่า varchar(100)); แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.62 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('90'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.20 วินาที)mysql> แทรกลงในค่า DemoTable ('86'); Query OK, 1 แถวได้รับผลกระทบ (0.08 วินาที)mysql> แทรก ลงในค่า DemoTable ('45'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที) mysql> แทรกลงในค่า DemoTable ('85'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.08 วินาที) mysql> แทรกลงในค่า DemoTable ('085) ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า DemoTable ('090'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.13 วินาที) mysql> แทรกลงในค่า DemoTable ('045'); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.10 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 90 || 86 || 45 || 85 || 085 || 090 || 045 |+-------+7 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อจัดเรียงตัวเลขที่บันทึกเป็น VARCHAR โดยที่บางหมายเลขต้องนำหน้า 0

mysql> เลือก *จากคำสั่ง DemoTable ตามค่า*1,ค่า;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------+| ความคุ้มค่า |+-------+| 045 || 45 || 085 || 85 || 86 || 090 || 90 |+-------+7 แถวในชุด (0.00 วินาที)