详解Mysql取前一天、前一周、后一天等时间函数

 更新时间:2023年11月30日 10:04:52   作者:知行合一。。。  
本文给大家介绍Mysql取前一天、前一周、后一天等时间函数,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

DATE_SUB()函数的用法

在这里插入图片描述

语法:

  • 获取当前日期:select curdate()
  • 获取当前日期前一天:select date_sub(curdate(),interval 1 day)
  • 获取当前日期后一天:select date_sub(curdate(),interval -1 day)

案例:

当前日期的前三十天和后三十天 (DATE_SUB函数本身是减法,用负数就是加)

SELECT * from user 
where create_time between DATE_SUB(NOW(),INTERVAL 30 day) and DATE_SUB(NOW(),INTERVAL -30 day)

示例

select now();-- 当前时间
--结果: 2018-12-06 20:35:21
select DATE_SUB(now(), INTERVAL 30 DAY);-- 前三十天
--结果: 2018-11-06 20:35:21
select DATE_SUB(now(), INTERVAL -30 DAY);-- 后三十天(函数本身是减法,用负数就是加)
--结果: 2019-01-05 20:35:21
select DATE_SUB(now(), INTERVAL 1 month);-- 减去一个月
--结果: 2018-11-06 20:35:21
select DATE_SUB(now(), INTERVAL 1 year);-- 减一年
--结果: 2017-12-06 20:35:21

备注:

SELECT NOW(),CURDATE(),CURTIME()

结果类似:

NOW()CURDATE()CURTIME()
2016-08-01 16:25:462016-08-0116:25:46

相反的还有 add函数:

set @dt = now();

select date_add(@dt, interval 1 day); – add 1 day
select date_add(@dt, interval 1 hour); – add 1 hour
select date_add(@dt, interval 1 minute); – …
select date_add(@dt, interval 1 second);
select date_add(@dt, interval 1 microsecond);
select date_add(@dt, interval 1 week);
select date_add(@dt, interval 1 month);
select date_add(@dt, interval 1 quarter);
select date_add(@dt, interval 1 year);

日期/时间转换为字符串:

date_format(date,format), time_format(time,format)
select date_format('2018-08-11 12:30:00', '%Y %m %d %H%i%s');
# 2018 08 11 123000 

字符串转换为日期:

str_to_date(str, format)
select str_to_date('08/11/2018', '%m/%d/%Y'); -- 2018-08-11
select str_to_date('08/11/08' , '%m/%d/%y'); -- 2018-08-11
select str_to_date('08.11.2008', '%m.%d.%Y'); -- 2018-08-11
select str_to_date('08:00:30', '%h:%i:%s'); -- 08:00:30
select str_to_date('08.11.2018 08:00:30', '%m.%d.%Y %h:%i:%s'); 

到此这篇关于Mysql取前一天,前一周,后一天等时间函数的文章就介绍到这了,更多相关mysql时间函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL系列多表连接查询92及99语法示例详解教程

    MySQL系列多表连接查询92及99语法示例详解教程

    这篇文章主要为大家介绍了MySQL系列多表连接查询92及99语法示例详解教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-10-10
  • 解决MySQL数据库链接超时报1129错误问题

    解决MySQL数据库链接超时报1129错误问题

    MySQL 为了数据库的安全性默认在链接中断或者错误时记录错误链接的ip 等信息(host_cache),有点像系统的错误日志的一种机制,这篇文章主要介绍了MySQL数据库链接超时报1129错误解决办法,需要的朋友可以参考下
    2022-10-10
  • 解析SQL语句中Replace INTO与INSERT INTO的不同之处

    解析SQL语句中Replace INTO与INSERT INTO的不同之处

    本篇文章是对SQL语句中Replace INTO与INSERT INTO的不同之处进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql如何实现最大连接数

    mysql如何实现最大连接数

    云服务器同时最大连接数,也就是说可以有一千个用户,那么mysql如何实现最大连接数,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • MySQL进行查询结果求和的五种方法详解

    MySQL进行查询结果求和的五种方法详解

    在数据库中,求和查询是一种常见的操作,特别是在处理大量数据时,MySQL 提供了多种方法来执行求和操作,下面小编就和大家详细介绍一下吧
    2025-12-12
  • MySQL通用查询日志和慢查询日志全面分析

    MySQL通用查询日志和慢查询日志全面分析

    这篇文章主要介绍了MySQL通用查询日志和慢查询日志的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • InnoDB中不同SQL语句设置锁的情况详解

    InnoDB中不同SQL语句设置锁的情况详解

    这篇文章主要介绍了InnoDB中不同SQL语句设置锁的情况详解,在Mysql中,锁定读、更新、删除操作通常会对SQL语句处理过程中扫描到的每条索引记录设置记录锁,需要的朋友可以参考下
    2024-01-01
  • MYSQL错误:Can’t open file: ‘×××.MYI’ (errno: 145)修复方法

    MYSQL错误:Can’t open file: ‘×××.MYI’ (errno: 14

    这个错误是典型的mysql表受损造成的,解决的办法就是修复表,这个问题也是mysql经常容易出现的,mysql表和索引损坏的几率很大,但是修复也很方便
    2011-01-01
  • SQL ALTER TABLE语句灵活修改表结构和数据类型

    SQL ALTER TABLE语句灵活修改表结构和数据类型

    这篇文章主要介绍了SQL ALTER TABLE语句灵活修改表结构和数据类型,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • 简单了解MySQL存储引擎

    简单了解MySQL存储引擎

    这篇文章主要介绍了MySQL存储引擎的相关资料,为开发时选择合适的存储引擎提供参考,感兴趣的朋友可以了解下
    2020-07-07

最新评论