mysql中varchar類型的日期進(jìn)行比較、排序等操作的實(shí)現(xiàn)
在mysql使用過程中,日期一般都是以datetime、timestamp等格式進(jìn)行存儲的,但有時會因?yàn)樘厥獾男枨蠡驓v史原因,日期的存儲格式是varchar,那么我們該如何處理這個varchar格式的日期數(shù)據(jù)呢?
使用函數(shù):STR_TO_DATE(str, format)
STR_TO_DATE(str, format)函數(shù)是DATE_FORMAT()函數(shù)的反函數(shù)。它需要一個字符串str和一個格式字符串格式。STR_TO_DATE()返回一個DATETIME值,如果格式字符串包含日期和時間部分,或如果字符串只包含日期或時間的部分返回日期或時間值。
下面舉個案例進(jìn)行說明。
比如我現(xiàn)在有一張會員表,表的結(jié)構(gòu)如下所示:
我在表中造了如下幾條數(shù)據(jù):
現(xiàn)在,如果我需要從中挑選出2018年8月份注冊的所有會員,并按注冊時間進(jìn)行排序,那么要怎么做呢?這里給出一個參考:
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')
執(zhí)行結(jié)果如下:
總結(jié):STR_TO_DATE(str, format)函數(shù)可以將數(shù)據(jù)庫中varchar類型的日期數(shù)據(jù)轉(zhuǎn)換成DATETIME類型的日期數(shù)據(jù),轉(zhuǎn)換過程注意format參數(shù)必須要應(yīng)對str的格式,之后我們就可以進(jìn)行比較、排序等操作啦!
到此這篇關(guān)于mysql中varchar類型的日期進(jìn)行比較、排序等操作的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql varchar類型比較排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹
在MySQL中ROW_NUMBER()是一種用來生成行號的功能函數(shù),通常情況下它用于對查詢結(jié)果進(jìn)行編號,以便方便地查看每行的位置,下面這篇文章主要給大家介紹了關(guān)于mysql數(shù)據(jù)庫row_number函數(shù)舉例介紹的相關(guān)資料,需要的朋友可以參考下2024-02-02Linux手動部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解
這篇文章主要介紹了Linux手動部署遠(yuǎn)程的mysql數(shù)據(jù)庫的方法詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11

MySql 5.7.20安裝及data和my.ini文件的配置

MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_

mysql 修改密碼和設(shè)置允許遠(yuǎn)程登錄