时间:2023-03-15来源:系统城装机大师作者:佚名
可以像普通查询使用等号进行查询,但必须查询时间必须和字段对应时间完全相等,比如我要查下面这个值
sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE start_time = '2022-10-9 10:33:39' |
查询结果:
但只要改变其中一个值,那么就查不出来了,比如将值改为“2022-10-9 10:33:38”,查询结果如下:
时间一般都不会使用 “=” 查询。
假如我要查询2022年10月份的所有数据,可以使用 DATE_FORMAT (字段名, ‘%Y-%m’) = DATE_FORMAT (‘查询时间字段’, ‘%Y-%m’),sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m' ) = DATE_FORMAT( '2022-10-9 10:33:38' , '%Y-%m' ) |
查询结果如下:
查询某天,比如查询22年10月11日的数据,可以使用 DATE_FORMAT(‘查询时间字段’, ‘%Y-%m-%d’),sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d' ) = DATE_FORMAT( '2022-10-11 10:33:38' , '%Y-%m-%d' ) |
结果如下:
那查询某年呢?比如查询2021年的数据,使用 DATE_FORMAT(‘查询时间字段’, ‘%Y’),sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d' ) = DATE_FORMAT( '2022-10-11 10:33:38' , '%Y-%m-%d' ) |
结果如下:
比如我要查询22年9月到2月的所有数据,使用 DATE_FORMAT 配合 “>=”和 “<=”,sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m' ) >= DATE_FORMAT( '2022-10-9 10:33:38' , '%Y-%m' ) AND DATE_FORMAT(start_time, '%Y-%m' ) <= DATE_FORMAT( '2022-12-9 10:33:38' , '%Y-%m' ) ORDER BY start_time |
结果如下:
查询 22年10月11日之前的数据,sql如下:
1 | SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d' ) < DATE_FORMAT( '2022-10-11 10:33:38' , '%Y-%m-%d' ) ORDER BY start_time |
结果如下:
查询时间不难,只要知道是要按年、按月还是按日,格式化时间的字符写对就行。
到此这篇关于Mysql中使用时间查询的文章就介绍到这了
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30