首頁  >  文章  >  資料庫  >  mysql中varchar類型如何實現日期進行比較、排序等操作

mysql中varchar類型如何實現日期進行比較、排序等操作

王林
王林轉載
2023-05-31 13:49:192215瀏覽

在mysql使用過程中,日期一般都是以datetime、timestamp等格式進行儲存的,但有時會因為特殊的需求或歷史原因,日期的儲存格式是varchar,那麼我們該如何處理這個varchar格式的日期資料呢?

使用函數:STR_TO_DATE(str, format)

#DATE_FORMAT()函數的反函數是STR_TO_DATE(str, format)函數。它需要一個字串str和一個格式字串格式。 STR_TO_DATE()傳回一個DATETIME值,如果格式字串包含日期和時間部分,或如果字串只包含日期或時間的部分傳回日期或時間值。

下面舉個案例來說明。

例如我現在有一張會員表,表的結構如下所示:

mysql中varchar類型如何實現日期進行比較、排序等操作

#我在表中造瞭如下幾條資料:

mysql中varchar類型如何實現日期進行比較、排序等操作

現在,如果我需要從中挑選出2018年8月份註冊的所有會員,並按註冊時間進行排序,那麼要怎麼做呢?這裡給一個參考:

SELECT id,nickname,createtime 
FROM member
WHERE str_to_date(createtime, '%Y-%m-%d') BETWEEN str_to_date('2018-08-01', '%Y-%m-%d') AND str_to_date('2018-08-31', '%Y-%m-%d')
ORDER BY str_to_date(createtime, '%Y-%m-%d')

執行結果如下:

mysql中varchar類型如何實現日期進行比較、排序等操作

#

以上是mysql中varchar類型如何實現日期進行比較、排序等操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除