mysql中varchar类型的日期进行比较、排序等操作的实现 在mysql使用过程中,日期一般都是以datetime.timestamp等格式进行存储的,但有时会因为特殊的需求或历史原因,日期的存储格式是varchar,那么我们该如何处理这个varchar格式的日期数据呢? 使用函数:STR
在mysql使用过程中,日期一般都是以datetime、timestamp等格式进行存储的,但有时会因为特殊的需求或历史原因,日期的存储格式是varchar,那么我们该如何处理这个varchar格式的日期数据呢?
使用函数:STR_TO_DATE(str, format)
STR_TO_DATE(str, format)函数是DATE_FORMAT()函数的反函数。它需要一个字符串str和一个格式字符串格式。STR_TO_DATE()返回一个DATETIME值,如果格式字符串包含日期和时间部分,或如果字符串只包含日期或时间的部分返回日期或时间值。
下面举个案例进行说明。
比如我现在有一张会员表,表的结构如下所示:
我在表中造了如下几条数据:
现在,如果我需要从中挑选出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')
执行结果如下:
总结:STR_TO_DATE(str, format)函数可以将数据库中varchar类型的日期数据转换成DATETIME类型的日期数据,转换过程注意format参数必须要应对str的格式,之后我们就可以进行比较、排序等操作啦!
到此这篇关于mysql中varchar类型的日期进行比较、排序等操作的实现的文章就介绍到这了,更多相关mysql varchar类型比较排序内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:mysql中varchar类型的日期进行比较、排序等操作的实现


基础教程推荐
- redis 数据库 2023-09-13
- oracle19c卸载教程的超详细教程 2023-07-23
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- redis乐观锁与悲观锁的实战 2023-07-13
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11
- oracle数据库排序后如何获取第一条数据 2023-07-24
- Mariadb数据库主从复制同步配置过程实例 2023-07-25
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29