首页 > 数据库 > mysql教程 > mysql中varchar类型如何实现日期进行比较、排序等操作

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

王林
发布: 2023-05-31 13:49:19
转载
2250 人浏览过

在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
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板