首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 日期字段倒序查詢:CAST 轉型實現正確排序

     編輯:MySQL 資料庫相關知識

問題場景

日期存儲為字符串類型(VARCHAR/CHAR),直接 ORDER BY date_col DESC 按字典序排序,結果錯誤。

解決方案

SELECT * FROM water
WHERE phoneNumber = @phoneNumber
ORDER BY CAST(date_col AS DATETIME) DESC;

兩種轉型函數對比

函數語法示例
CASTCAST(expr AS type)CAST(date_col AS DATETIME)
CONVERTCONVERT(expr, type)CONVERT(date_col, DATETIME)

功能等價,CAST 為 SQL 標準,推薦優先使用。

最佳實踐建議

  • 表設計階段直接用 DATE/DATETIME/TIMESTAMP 類型,避免轉型開銷。
  • 已有字符串日期列,建議加生成列或遷移類型,長期受益。

總結

字符串日期排序必須 CAST/CONVERT 為時間類型,否則按字典序產生業務錯誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved