ก็เลยคิดที่จะให้คำสั่ง
ORDER BY xxx ASC;ดูจะให้มันเรียงกันเป็นลำดับ
xxx ชื่อคอลัมที่ต้องการ sort
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
แต่ผลที่ได้ออกมากลับกลายเป็น
1, 10, 11, 12, 13, 2, 3, 4, 5, 6, 7, 8, 9ก็เลยสงสัยกลับไปดูยังฐานข้อมูลปรากฏว่า Type ในฐานข้อมูลประกาศ เป็น VARCHAR2
อ้าวแล้วที่นี่จะทำยังงัยดีล่ะครับ ก็เลยไปหาข้อมูลพบว่า หากต้องการเรียงให้เป็นลำดับที่ล่ะก็เราจะต้องแปลง VARCHAR2 นั้นให้เป็น
Number ซะก่อน จากนั้นค่อยใช้คำสั่งในการ Sort ก็จะได้ ผลออกมาเป็น 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13
ORDER BY TO_NUMBER(xxx) ASC;หวังว่าความรู้เล็กๆน้อยๆ อันนี้คงเป็นประโยชน์ไม่มากก็น้อย
xxx ชื่อคอลัมที่ต้องการ sort
ขอบคุณครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น