在我们使用mysql是免不了要根据时间去查询一些数据,这个时候一般有几种方式可以去查询。

第一种数据库,如果有数据新建时间可以以这个时间为节点,通过当前时间条件去比较时间来查询到此段时间内的数据

例如:这个是可传参数的

SELECT * FROM 表名 a WHEREAND DATE_FORMAT(a.out_date,'%Y-%m-%d %H:%i:%S')  >=  DATE_FORMAT(#{beginOutPoundDate},'%Y-%m-%d %H:%i:%S')AND DATE_FORMAT(a.out_date,'%Y-%m-%d %H:%i:%S') <=  DATE_FORMAT(#{endOutPoundDate},'%Y-%m-%d %H:%i:%S')

不过如果指定就查询一天之内或者一周之内的数据那又如何?

不慌来上菜:

1.查询一天之内的数据时间从今天的零0点0分0秒开始---到23点59分59秒结束,查询完在给他按更新时间排个序!!

SELECT * FROM 表名 aWHERE a.out_date >= DATE_FORMAT(CURDATE(),'%Y-%m-%d %H:%i:%s')AND a.out_date <= DATE_SUB( DATE_ADD(CURDATE(), INTERVAL 1 DAY),INTERVAL 1 SECOND)ORDER BY a.update_date ASC

2.查询一周内的数据:有有条件的有没条件的 还有上周的

-- ‍有条件SELECT * FROM 表名 a WHERE DATE_SUB(CURDATE(), INTERVAL 7 DAY)  <= date(a.out_date)-- 没条件select * from Tabel名 where 时间字段名 between current_date()-7 and sysdate()上周SELECT * FROM 表名 WHERE YEARWEEK(date_format(时间字段名,'%Y-%m-%d')) = YEARWEEK(now())-1;

3.查询一个月内数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

4.查询本月的数据

SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )

5.查询上个月的数据

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1

6.查询当前6个月前的数据

SELECT * FROM 表名 WHERE 时间字段名 between date_sub(now(),interval 6 month) and now();

7.查询多少秒内的数据

SELECT count( * ) AS c, sum( if( logusertype = 2, logusertype, 0 ) ) / 2 AS a, sum( if( logusertype = 3, logusertype, 0 ) ) /3 AS bFROM testlog WHERE UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP( logendtime )<=30

8.查询一年的数据

-- 查询一年的SELECT * FROM table_name WHERE condition1 AND condition2 AND DATE_SUB(CURDATE(), INTERVAL 1 YEAR) <= date(column_name);-- 查询一年的select * from 表名  where year(create_date)=year(now());-- 查询上年的select * from 表名 where year(create_date)=year(date_sub(now(),interval 1 year));

9.查询昨天的数据(只有昨天的)还有只包括昨天和今天的

-- 只有昨天的SELECT * FROM 表名 WHERE DATEDIFF(字段,NOW())=-1; -- 同理,查询前天的就是-2-- 包括昨天和今天的SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1

10.查询本季的和上季的数据

-- 本季度select * from 表名 where quarter(create_date)=quarter(now());-- 上季度select * from 表名 where quarter(create_date)=quarter(date_sub(now(),interval 1 quarter));

mysql时间模糊查询_mysql中那些根据时间查询的sql语句相关推荐

  1. mysql 导入数据库sql语句_mysql中导入数据与导出数据库sql语句

    本文章来详细介绍关于mysql中导入数据与导出数据库sql语句,在mysql中常用的导入与导出数据的命令有source与mysqldump大家可参考. 1.例1:连接到本机上的MYSQL 首先在打开D ...

  2. mysql row 日志格式_mysql row日志格式下 查看binlog sql语句

    有时候我们需要使用row作为binlog的日志格式,即配置文件使用了binlog_format= row 参数 这样以来,我们在查看数据库binlog内容时候,就看不到增删改查的具体语句了,在数据库恢 ...

  3. mysql 回表查询优化_MySQL中的回表查询与索引覆盖:一次百万级别分页查询使用Limit 从90秒到0.6毫秒的优化...

    这里写目录标题 事故现场 解决方案 提到的"回表查询" InnoDB的索引 什么是回表查询 怎么优化回表查询 事故现场 数据库使用的MySQL,有一个日志表,需要进行分页查询,于是 ...

  4. mysql查看执行计划_MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MyS ...

  5. mysql获取前一天日期_mysql中获取当前时间的前一天

    在日志中,经常需要获取当天的或者前一天的数据 当前时间前一天 :SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY); 当天: select * from user wh ...

  6. mysql 分表索引_mysql中,分表查询和索引查询哪个更快?

    谢谢邀请! 查询快慢主决的因素有很多,存储碎片.数据量大属于I/O类问题:表结构设计.查询语句属于技术是否熟练(经验)问题.对于你的分表快还是索引快的这个问题本身就是有问题的: 在建立数据表的时候,索 ...

  7. 用mysql语句骂人_MySQL中特别实用的几种SQL语句送给大家

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 目录 实用的SQL 1.插 ...

  8. set trans 必须是事务处理的第一个语句_MySQL中特别实用的几种SQL语句送给大家

    在写SQL时,经常灵活运用一些SQL语句编写的技巧,可以大大简化程序逻辑.减少程序与数据库的交互次数,有利于数据库高可用性,同时也能显得你的SQL很牛B,让同事们眼前一亮. 实用的SQL 1.插入或替 ...

  9. mysql 查询字段中是否存在空格的_mysql查询字段中带空格的值的sql语句

    (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 代码如下 update ` ...

最新文章

  1. 一站式解决:隐马尔可夫模型(HMM)全过程推导及实现
  2. Win7下如何更改时间日期
  3. python程序员脱单攻略_作为一只程序员,如何脱单?
  4. 防止System.exit调用
  5. 华润置地php面试题_从一流到顶流|2020华润置地与沈阳一起美好
  6. 手机学习android,用手机来学习 学生必备6款Android应用软件
  7. linux7 ftp服务器,Centos7下搭建FTP服务器
  8. httpclient java多线程_Apache HttpClient4.5多个HTTP请求使用多线程执行
  9. freertos fatfs s32k 云_云的英语表达方式
  10. python笔试题 github_在GitHub上收获6519颗星星的Python面试题资源,到底有多牛?
  11. labview和python哪个易学_如何学好labview?
  12. oracle学习之oracle基础
  13. 夏普Sharp MX-B401 一体机驱动
  14. Excel 合并居中后无法自动换行
  15. java的setbounds_Java Label.setBounds方法代码示例
  16. choco : 无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正 确,然后再试一次。
  17. 在注册表里查找classid
  18. 源站IP暴露了怎么自查?
  19. NAT以及基本配置(静态配置)
  20. 分布式时序相似查询初探

热门文章

  1. linux后台开发具备能力集锦
  2. 云上应用系统数据存储架构演进
  3. 全球首发|阿里云正式推出云数据库Redis6.0版本
  4. 通用网站备案常见的备案场景及要求
  5. 阿里云 ESSD 采用自研新一代存储网络协议,打造“超级高速”
  6. 【从入门到放弃-Java】并发编程-线程安全
  7. 移动研发 DevOps 落地实践
  8. 分布式系统:CAP 理论的前世今生
  9. 重磅公开!阿里语音识别模型端核心技术,让你“听”见未来
  10. 阿里开发者们的第5个感悟:听话,出活 1