日期存儲為字符串類型(VARCHAR/CHAR),直接 ORDER BY date_col DESC 按字典序排序,結果錯誤。
SELECT * FROM water WHERE phoneNumber = @phoneNumber ORDER BY CAST(date_col AS DATETIME) DESC;
| 函數 | 語法 | 示例 |
|---|---|---|
| CAST | CAST(expr AS type) | CAST(date_col AS DATETIME) |
| CONVERT | CONVERT(expr, type) | CONVERT(date_col, DATETIME) |
功能等價,CAST 為 SQL 標準,推薦優先使用。
DATE/DATETIME/TIMESTAMP 類型,避免轉型開銷。字符串日期排序必須 CAST/CONVERT 為時間類型,否則按字典序產生業務錯誤。