12/26/2016

PHP : PHP Mysql Select Sort String ที่เก็บค่าไว้เป็นทศนิยม

PHP : PHP Mysql Select Sort String ที่เก็บค่าไว้เป็นทศนิยม

เช่น เก็บค่า 1 , 1.10 , 10 , 1.11 , 1.12.1 ไม่สามารถทำ Type Table ให้เป็น INT, DECIMAL, DOUBLE เพื่อเรียงได้ เพราะมีทศนิยมไม่แน่นอน แต่ถ้าต้องการเรียง ต้อง ใช้ ROUND ก่อน แล้วค่อยนำมา Order By และ ตามด้วยความยาวของตัวเลขนั้น

เช่น
  1. $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";
  2.     $SQL_BUDGET     .= " WHERE RPBudget.Department = '".$DepartCode."'";
  3.     $SQL_BUDGET     .= " AND RPBudget.Year = '".date("Y")."'";
  4.     $SQL_BUDGET     .= " ORDER BY Department, NoSort, length(BudgetNo)  ASC";
  5.     //$SQL_BUDGET   .= " ORDER BY Department, length(BudgetNo), BudgetNo ASC";


http://www.select2web.com/sql/sql-round-function.html

No comments:

Post a Comment