Tuesday, August 11, 2009

Order by varchar column behalf int

  • มีปัญหาอยู่อย่าง คือ ตั้ง column เป็น varchar แต่ดันเก็บแต่ตัวเลข
  • พอจะให้เรียงในรูปแบบตัวเลข 1, 2, 3 ... ดันเรียง 1, 10, 11, ..., 2, 21 ซะงั้น
  • คือ column จะเรียงแบบ varchar อ่ะนะ
  • แต่ถ้าเราจะให้เรียงแบบ ตัวเลขจะทำไงหว่าตอน query
  • ต้องใช้ cast(param as type) ช่วย หรือไม่ก็ convert(type, param) ประมาณนี่
  • สมมุติว่ามี db ชื่อ sample มี table ชื่อ tb2 และใน tb2 ก็มี id เป็น varchar
SELECT id ,cast([id] as int) a FROM [sample].[dbo].[tb2] order by a



อ้างอิง

No comments:

Post a Comment