MySQL对日期计算

news2024/9/28 17:55:07

mysql日期计算

  • 前言
  • 使用场景
    • 一 日期作减法操作
    • 二 获取前一天或后一天的日期
    • 三 获取前一个月或后一个月的日期
    • 四 获取前一年或后一年的日期
    • 五 查询一个月内的申请记录
  • 总结

前言

在MySQL中,日期计算是非常常见的操作。其中,日期减法操作可以用来计算两个日期之间的差值,也可以用来获取某个日期之前或之后的几天、几月或几年的日期。本文将介绍如何使用MySQL实现日期减法操作。

使用场景

一 日期作减法操作

Mysql中两个日期相减,返回它们之间的天数差:

SELECT DATEDIFF('2023-10-10', '2022-10-10') AS diff_days;

在这里插入图片描述
这里我们使用了MySQL内置的DATEDIFF函数,它会返回两个日期之间的天数差。我们可以将其存储在一个变量中,方便后续计算:

SET @days_diff := DATEDIFF('2023-10-10', '2022-10-10');

此时,可以使用变量@days_diff来执行后续运算。

二 获取前一天或后一天的日期

如果想要获取给定日期的前一天或后一天的日期,可以使用DATE_ADD函数或DATE_SUB函数。例如:

SELECT DATE_ADD('2023-10-10', INTERVAL 1 DAY) AS next_day;

在这里插入图片描述
这里的INTERVAL 1 DAY表示要添加1天。同样,如果要获取前一天的日期,可以使用DATE_SUB函数:

SELECT DATE_SUB('2023-10-10', INTERVAL 1 DAY) AS previous_day;

在这里插入图片描述

在这里,INTERVAL 1 DAY表示要减去1天。

三 获取前一个月或后一个月的日期

如果想要获取某个日期的前一个月或后一个月的日期,可以使用DATE_ADD函数或DATE_SUB函数。例如:

SELECT DATE_ADD('2023-10-10', INTERVAL 1 MONTH) AS next_month;

在这里插入图片描述

这里的INTERVAL 1 MONTH表示要添加1个月。同样,如果要获取前一个月的日期,可以使用DATE_SUB函数:

SELECT DATE_SUB('2023-10-10', INTERVAL 1 MONTH) AS previous_month;

在这里插入图片描述
在这里,INTERVAL 1 MONTH表示要减去1个月。

四 获取前一年或后一年的日期

如果想要获取某个日期的前一年或后一年的日期,可以使用DATE_ADD函数或DATE_SUB函数。例如:

SELECT DATE_ADD('2023-10-10', INTERVAL 1 YEAR) AS next_year;

在这里插入图片描述
这里的INTERVAL 1 YEAR表示要添加1年。同样,如果要获取前一年的日期,可以使用DATE_SUB函数:

SELECT DATE_SUB('2023-10-10', INTERVAL 1 YEAR) AS previous_year;

在这里,INTERVAL 1 YEAR表示要减去1年。

五 查询一个月内的申请记录

# 推荐使用,能使用索引
SELECT
	*
FROM
	air_cust_apply a 
WHERE
	 a.create_time > DATE_SUB( NOW(), INTERVAL 1 MONTH );

# 或
# 不推荐使用,没有使用索引
SELECT
	*
FROM
	air_cust_apply a 
WHERE
	 DATE_ADD( a.create_time, INTERVAL 1 MONTH ) > NOW();

总结

本文介绍了MySQL中日期减法操作的使用方法,包括计算两个日期之间的天数差,获取前一天或后一天的日期,获取前一个月或后一个月的日期,获取前一年或后一年的日期,以及查询一个月内的申请记录的实际应用。这些操作都可以使用MySQL内置的DATE_ADD函数或DATE_SUB函数来实现。在实际使用中,只需要根据需求选择合适的函数和参数即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1078007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PTE DESCRIBE IMAGE做题方法 (一)

目录 界面切换来判断 到了哪一种题目 说废话 还是会给流利度加分 回答问题的时候想想哪些不说 必定是不行的呢 事先会预计学生会说些什么 鱼池理论 1st:Ttle.Unit,Legends.非说不可2nd:X-axis.Y-axis. 多多益善3 rd:Extra information(implications&development)不…

滚雪球学Java(45):探秘Java Runtime类:深入了解JVM运行时环境

🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!&#xf…

《深入理解计算机系统》(2):虚拟内存

虚拟内存是一种对主存的抽象概念。 (1)将主存看作一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回传送数据,通过这种方式高效地使用内存 (2)为每…

30天入门Python(基础篇)——第4天:Python中的【输入】+【数据类型】的认识(万字建议点赞收藏)

文章目录 专栏导读上节课回顾Python中的输入Python中的数据类型1、可变数据类型2、不可变数据类型 如何查看一个变量(数据)的变量类型字符串(str不可变)整数(int不可变)浮点数(float不可变)列表&#xff08…

```,```中间添加 # + 空格 + 空行后遇到的底部空行出错,书接上回,处理空行

【python查找替换:查找空行,空行前后添加,中间添加 # 空格 空行后遇到的第1行文字? - CSDN App】http://t.csdnimg.cn/QiKCV def is_blank(line):return len(line.strip()) 0txt 时间戳: ("%Y-%m-%d %H:%M:…

软件设计师考试知识点大全思维导图

软件设计师考试知识点大全思维导图 欢迎交流学习

BDJ-A02-32、BRJ-A02-50比例减压阀放大板

BDJ-A02-210、BDJ-A02-100、BDJ-A02-32、BRJ-A02-50、BRJ-A02-100、BRJ-A02-210、BRJ-A02-315、BCJ-A03-315、BCJ-A06-100、BCJ-A08-50、BYJ-A02-20、BYJ-A02-40是比例减压阀,阀的二次压力与输入电信号成正比。此类阀工作时是通过电子放大器提供比例电磁铁的驱动电流…

技术干货:解密最受欢迎的开源 Serverless 框架弹性技术实现

作者:元毅 Knative 是一款基于 Kubernetes 的开源 Serverless 应用编排框架,其目标是制定云原生、跨平台的 Serverless 应用编排标准。Knative 主要功能包括基于请求的自动弹性、缩容到 0、多版本管理、基于流量的灰度发布以及事件驱动等。 弹性是 Ser…

kali linux安装redis

官网:Install Redis from Source | Redis wget https://download.redis.io/redis-stable.tar.gztar -xzvf redis-stable.tar.gz cd redis-stable make显示如下即可进入下一步 sudo make installredis-server 可以看到已经可以使用了。 但是由于第一次使用导致了re…

微信支付v2

文档: https://pay.weixin.qq.com/wiki/doc/api/index.html 微信小程序:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter11_1 需要一个微信认证后的小程序,,还需要一个,在微信商户平台,&…

matlab实现对极地投影数据的投影转换

图片摘要 前段时间,我写了一个专栏《联合matlab和Arcgis进行netcdf格式的雪覆盖数据的重新投影栅格》,介绍了如何利用Arcgis实现极地投影的转换。今天,我提供一个matlab重采样的方法实现投影转换。 我们这次使用的数据是北冰洋逐日的海平面高…

【每日一题】1094. 拼车

1094. 拼车 - 力扣(LeetCode) 车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向) 给定整数 capacity 和一个数组 trips , trip[i] [numPassengersi, fromi, toi] 表示第 i 次旅…

相机坐标系之间的转换

一、坐标系之间的转换 一个有4个坐标系:图像坐标系、像素坐标系、相机坐标系、世界坐标系。 1.图像坐标系和像素坐标系之间的转换 图像坐标系和像素坐标系在同一个平面,利用平面坐标系之间的转换关系可以之知道两个坐标系变换的公式,并且该…

Log4j2的JNDI注入漏洞(CVE-2021-44228)原理分析与思考

目录 前言 一、 前置知识 1.1 Log4j2 1.2 Log4j2 Lookup 1.3 JNDI 1.4 JNDI注入 二、 漏洞复现 三、 漏洞原理 3.1 MessagePatternConverter.format() 3.2 StrSubstitutor.resolveVariable() 3.3 Interpolator.lookup() 3.4 JndiLookup.lookup() 3.5 JndiManager.l…

cos文件上传demo (精简版通用)

1. 依赖 <!--腾讯云cos依赖--> <dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>5.6.54</version> </dependency> 2. FileController import com.ruoyi.common.core.domain.AjaxRe…

网络层协议—IP协议

网络层协议—IP协议 文章目录 网络层协议—IP协议网络层简介IP协议简介IP协议文格式IP协议报头实现网络互联的使用设备 网段划分IP地址划分子网掩码IP地址的特点特殊的IP地址IP地址的数量限制私有IP地址和公网IP地址NAT技术 路由报文的分片与组装IP地址和硬件地址 网络层简介 …

2023.10.8 基本 Thread 线程详解

目录 Thread 常见构造方法 Thread 常见属性 创建一个 Thread 线程 使用 jconsole 命令观察线程 中断一个 Thread 线程 等待一个 Thread 线程 休眠当前 Thread 线程 让出当前 Thread 线程的 CPU 资源 线程的状态 Thread 常见构造方法 方法说明Thread()创建线程对…

Nginx 重新编译添加新的模块

编译安装Nginx的时候&#xff0c;有些模块默认并不会安装&#xff0c;比如http_ssl_module&#xff0c;那么为了让Nginx支持HTTPS&#xff0c;必须添加这个模块。 下面讲解如何在已经安装过后再次添加新的模块。 1、找到安装nginx的源码根目录(即安装包存放目录)&#xff0c;…

2023年【G1工业锅炉司炉】考试题及G1工业锅炉司炉模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年G1工业锅炉司炉考试题为正在备考G1工业锅炉司炉操作证的学员准备的理论考试专题&#xff0c;每个月更新的G1工业锅炉司炉模拟考试祝您顺利通过G1工业锅炉司炉考试。 1、【多选题】TSGG0001-2012《锅炉安全技术监…

Potplayer结合cpolar内网穿透实现公网访问群晖WebDAV

把potplayer变成netflix需要几步&#xff1f; ​ 国内流媒体平台的内容让人一言难尽&#xff0c;就算是购买了国外的优秀作品&#xff0c;也总是在关键剧情上删删减减&#xff0c;就算是充了会员&#xff0c;效果如何&#xff1f; 广大网友不得不选择自己找资源下到本地&#x…