เช่น เก็บค่า 1 , 1.10 , 10 , 1.11 , 1.12.1 ไม่สามารถทำ Type Table ให้เป็น INT, DECIMAL, DOUBLE เพื่อเรียงได้ เพราะมีทศนิยมไม่แน่นอน แต่ถ้าต้องการเรียง ต้อง ใช้ ROUND ก่อน แล้วค่อยนำมา Order By และ ตามด้วยความยาวของตัวเลขนั้น
เช่น
- $SQL_BUDGET = "SELECT BudgetNo, ROUND(BudgetNo, 0) AS NoSort, Department, BudgetDetail, Qty, FromLastYear, BudgetAmount, Year, BudgetUsed, PlanDate, CreateDate, Unit, UseQty, DocumentBudget FROM sci_rp.RPBudget";
- $SQL_BUDGET .= " WHERE RPBudget.Department = '".$DepartCode."'";
- $SQL_BUDGET .= " AND RPBudget.Year = '".date("Y")."'";
- $SQL_BUDGET .= " ORDER BY Department, NoSort, length(BudgetNo) ASC";
- //$SQL_BUDGET .= " ORDER BY Department, length(BudgetNo), BudgetNo ASC";
http://www.select2web.com/sql/sql-round-function.html
No comments:
Post a Comment