Mysql中使用时间查询的详细图文教程

吾爱主题 阅读:146 2023-03-15 16:45:00 评论:0

一、使用等号查询

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

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中使用时间查询的文章就介绍到这了,更多相关Mysql使用时间查询内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/studio_1/article/details/127381621

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容