服务器之家

服务器之家 > 正文

mysql中varchar类型的日期进行比较、排序等操作的实现

时间:2021-12-05 22:36     来源/作者:小码哥(^_^)

mysql使用过程中,日期一般都是以datetime、timestamp等格式进行存储的,但有时会因为特殊的需求或历史原因,日期的存储格式是varchar,那么我们该如何处理这个varchar格式的日期数据呢?

使用函数:str_to_date(str, format)

str_to_date(str, format)函数是date_format()函数的反函数。它需要一个字符串str和一个格式字符串格式。str_to_date()返回一个datetime值,如果格式字符串包含日期和时间部分,或如果字符串只包含日期或时间的部分返回日期或时间值。

下面举个案例进行说明。

比如我现在有一张会员表,表的结构如下所示:

mysql中varchar类型的日期进行比较、排序等操作的实现

我在表中造了如下几条数据:

mysql中varchar类型的日期进行比较、排序等操作的实现

现在,如果我需要从中挑选出2018年8月份注册的所有会员,并按注册时间进行排序,那么要怎么做呢?这里给出一个参考:

?
1
2
3
4
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类型的日期进行比较、排序等操作的实现

总结:str_to_date(str, format)函数可以将数据库中varchar类型的日期数据转换成datetime类型的日期数据,转换过程注意format参数必须要应对str的格式,之后我们就可以进行比较、排序等操作啦!

到此这篇关于mysql中varchar类型的日期进行比较、排序等操作的实现的文章就介绍到这了,更多相关mysql varchar类型比较排序内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq9808/article/details/82020382

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部