加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、容器安全、数据加密、云日志、云数据迁移!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql下如何使用时间查询

发布时间:2023-05-23 19:31:18 所属栏目:MySql教程 来源:互联网
导读:   这篇文章主要介绍了Mysql中如何使用时间查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql中如何使用时间查询文章都会有所收获,下面我们一起来
  这篇文章主要介绍了Mysql中如何使用时间查询的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql中如何使用时间查询文章都会有所收获,下面我们一起来看看吧。
 
  一、使用等号查询
 
  可以像普通查询使用等号进行查询,但必须查询时间必须和字段对应时间完全相等,比如我要查下面这个值

  sql如下:
 
  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如下:
 
  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_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如下:
 
  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_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如下:
 
  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
 
  查询时间不难,只要知道是要按年、按月还是按日,格式化时间的字符写对就行
 

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章