详解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时间函数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysqld_safe启动脚本源码阅读、分析

    mysqld_safe启动脚本源码阅读、分析

    这篇文章主要介绍了mysqld_safe启动脚本源码阅读、分析,mysqld_safe是一个带有安全特性的启动脚本,使用Shell语言编写,需要的朋友可以参考下
    2014-07-07
  • 新手必学的mysql外键设置方式

    新手必学的mysql外键设置方式

    MySQL外键约束(FOREIGN KEY)用来在两个表的数据之间建立链接,它可以是一列或者多列,一个表可以有一个或多个外键,下面这篇文章主要给大家介绍了关于mysql外键设置的相关资料,需要的朋友可以参考下
    2021-12-12
  • MySQL复制出错 Last_SQL_Errno:1146的解决方法

    MySQL复制出错 Last_SQL_Errno:1146的解决方法

    这篇文章主要介绍了MySQL复制出错 Last_SQL_Errno:1146的解决方法,需要的朋友可以参考下
    2016-07-07
  • MySQL 8.0用户和角色管理原理与用法详解

    MySQL 8.0用户和角色管理原理与用法详解

    这篇文章主要介绍了MySQL 8.0用户和角色管理,结合实例形式分析了MySQL 8.0用户和角色管理相关概念、功能、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-04-04
  • MSSQL 添加字段说明

    MSSQL 添加字段说明

    MSSQL 字段添加方法。
    2009-05-05
  • 优化Mysql数据库的8个方法

    优化Mysql数据库的8个方法

    本文通过8个方法优化Mysql数据库:创建索引、复合索引、索引不会包含有NULL值的列、使用短索引、排序的索引问题、like语句操作、不要在列上进行运算、不使用NOT IN和<>操作
    2013-11-11
  • MySQL数据库锁机制原理解析

    MySQL数据库锁机制原理解析

    这篇文章主要介绍了MySQL数据库锁机制原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • 浅谈MySQL之select优化方案

    浅谈MySQL之select优化方案

    我们是否看到过在公司中许多查询语句都是select * xxxx,本文就主要介绍了MySQL之select优化方案,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • Mysql字符串类型如何通过order by排序的正确方式

    Mysql字符串类型如何通过order by排序的正确方式

    这篇文章主要介绍了Mysql字符串类型如何通过order by排序的正确方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL 十大常用字符串函数详解

    MySQL 十大常用字符串函数详解

    数据库函数是一种具有某种功能的模块,可以接收零个或多个输入值,并且返回一个输出值,这篇文章给大家介绍MySQL 十大常用字符串函数,感兴趣的朋友跟随小编一起看看吧
    2021-06-06

最新评论