Mysql中如何使用时间查询

网友投稿 445 2023-11-03

Mysql中如何使用时间查询

这篇文章主要介绍了Mysql中如何使用时间查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql中如何使用时间查询文章都会有所收获,下面我们一起来看看吧。

Mysql中如何使用时间查询

一、使用等号查询

可以像普通查询使用等号进行查询,但必须查询时间必须和字段对应时间完全相等,比如我要查下面这个值

sql如下:

SELECT id, start_time, end_timeFROM 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如下:

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如下:

SELECT id, start_time, end_timeFROM 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如下:

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如下:

SELECT id, start_time, end_timeFROM pay_fee_rule WHERE DATE_FORMAT(start_time, %Y-%m) >= DATE_FORMAT(2022-10-9 10:33:38%Y-%mAND DATE_FORMAT(start_time, %Y-%m) <= DATE_FORMAT(2022-12-9 10:33:38%Y-%mORDER BYstart_time

结果如下:

查询 22年10月11日之前的数据,sql如下:

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-%dORDER BY start_time

结果如下:

查询时间不难,只要知道是要按年、按月还是按日,格式化时间的字符写对就行。

关于“Mysql中如何使用时间查询”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Mysql中如何使用时间查询”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:sql_mode的模式有哪些
下一篇:mysql慢查询如何优化
相关文章