返回顶部
首页 > 资讯 > 数据库 >MySQL如何使用时间作为判断条件
  • 425
分享到

MySQL如何使用时间作为判断条件

mysql时间判断条件 2022-05-10 22:05:37 425人浏览 独家记忆
摘要

背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内...... 1. 当月 我们只需要使用一个Mysql的MONTH(date)函数即可实现。(注意判断年份) MO

背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内......

1. 当月

我们只需要使用一个Mysql的MONTH(date)函数即可实现。(注意判断年份)

MONTH(date);
-- 用法:MONTH函数返回一个整数,表示指定日期值的月份。

-- 举例
SELECT MONTH('2020-11-11 00:00:00')
-- 返回值是11

2. 30天内

之所以把“30天内”放在当月的后面,是因为我经常会遇到这两个需求相互转换的情况,“30天内”也可以称作“一个月内”。

这种情况我们需要使用DATEDIFF(expr1,expr2)函数。

DATEDIFF(expr1,expr2)
-- 用法:参数为两个日期,返回的是expr1-expr2的天数差

-- 举例
SELECT DATEDIFF('2020-11-01 08:00:00','2020-11-11 00:00:00')
-- 返回值是-10

3. 当日

当日需要使用TO_DAYS(date)函数。

TO_DAYS(date)
-- 用法:返回从0000年(公元1年)至当前日期的总天数。

-- 举例
SELECT TO_DAYS('0000-01-01')
-- 返回值是1
SELECT TO_DAYS('0001-01-01')
-- 返回值是366

4. 当前小时

这种情况需要HOUR(date)和CURDATE()函数配合使用。

HOUR(date)
-- 用法:返回当前时间是今日的第几个小时
-- 举例
SELECT HOUR('2020-11-11 11:11:11')
-- 返回值是11

CURDATE()
-- 用法:返回今日的日期,不包括时分秒, yyyy-MM-dd

-- 使用举例
select * from table where created_at > CURDATE() and HOUR(created_at) = HOUR(now())

5. x天内

可以使用DATE_SUB(date,INTERVAL expr unit)函数来实现。

DATE_SUB(date,INTERVAL expr unit)
-- 用法:起始日期date 减去一个时间段后的日期

后面的单位unit有很多值可以选择,如下表:

类型(unit值) 含义 expr表达式的形式
YEAR YY
MONTH MM
DAY DD
HOUR hh
MINUTE mm
SECOND ss
YEAR_MONTH 年和月 YY和MM之间用任意符号隔开
DAY_HOUR 日和小时 DD和hh之间用任意符号隔开
DAY_MINUTE 日和分钟 DD和mm之间用任意符号隔开
DAY_SECOND 日和秒钟 DD和ss之间用任意符号隔开
HOUR_MINUTE 时和分 hh和mm之间用任意符号隔开
HOUR_SECOND 时和秒 hh和ss之间用任意符号隔开
MINUTE_SECOND 分和秒 mm和ss之间用任意符号隔开

-- 举例
-- 七天内的数据查询
select * from table where created_at > DATE_SUB(CURDATE(),INTERVAL 7 DAY)

6. 多少天内数据统计

我们经常还会遇到这种需求,统计7天内每天数据的量。这种情况下,我们需要考虑没有数据推送的情况,即为0也要得到。

我的思路如下:


SELECT
	 DATE_SUB( CURDATE(), INTERVAL m.s day ) AS orderDate
FROM
	(
  SELECT 0 as s UNION ALL
  SELECT 1 UNioN ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 UNION ALL
  SELECT 5 UNION ALL
  SELECT 6 
	) m

以上面的sql查询结果作为临时表,匹配数据表统计多少天内的数据数量


-- 举例:查询12个月内每个月数据的数量
SELECT COUNT(t.created_at),res.date FROM 
	(SELECT
	 DATE_FORMAT(DATE_SUB( CURDATE(), INTERVAL m.s MONTH ),'%Y-%m') AS date
FROM
	(
  SELECT 0 as s UNION ALL
  SELECT 1 UNION ALL
  SELECT 2 UNION ALL
  SELECT 3 UNION ALL
  SELECT 4 UNION ALL
  SELECT 5 UNION ALL
  SELECT 6 UNION ALL
  SELECT 7 UNION ALL
  SELECT 8 UNION ALL
  SELECT 9 UNION ALL
  SELECT 10 UNION ALL
  SELECT 11 
	) m)res
	left join 
	table t on res.date = DATE_FORMAT(t.created_at,'%Y-%m')
	GROUP BY date

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL如何使用时间作为判断条件

本文链接: https://lsjlt.com/news/9970.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL如何使用时间作为判断条件
    背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内...... 1. 当月 我们只需要使用一个mysql的MONTH(date)函数即可实现。(注意判断年份) MO...
    99+
    2022-05-10
    mysql 时间 判断条件
  • JavaScript条件判断语句如何使用
    本篇内容介绍了“JavaScript条件判断语句如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!假如...
    99+
    2024-04-02
  • mysql条件判断语句怎么使用
    在MySQL中,条件判断语句通常用在SELECT、UPDATE、DELETE和INSERT语句中,用来筛选出符合条件的数据或...
    99+
    2024-04-09
    mysql
  • bashif条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if ...
    99+
    2023-02-16
    bash if条件判断 bash if判断
  • Shell脚本中怎么使用IF条件判断和判断条件
    Shell脚本中怎么使用IF条件判断和判断条件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言:      无论什么编程语言...
    99+
    2023-06-09
  • jquery如何判断时间框是否为空
    这篇文章主要讲解了“jquery如何判断时间框是否为空”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jquery如何判断时间框是否为空”吧!首先,我们需要在页面中引入jQuery库,可以使用...
    99+
    2023-07-06
  • mysql条件判断函数的具体使用
    目录IF(expr,v1,v2)函数IFNULL(v1,v2)函数CASE函数条件判断函数也被称为控制流程函数,根据满足的不同条件,执行响应的流程。mysql中进行条件判断的函数有if、ifunll和case等。 IF(...
    99+
    2023-01-09
    mysql条件判断 mysql判断条件函数
  • mybatis-plus如何判断参数是否为空并作为查询条件
    目录判断参数是否为空并作为查询条件只需要在eq条件构造器中只需要添加 一句判断即可StringUtils.isNullOrEmpty()方法作用是附上 isNullOrEmpty()...
    99+
    2024-04-02
  • linux中如何使用shell 条件判断语句
    linux中如何使用shell 条件判断语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。常用系统变量 $0 当前程式的名称 $n 当前程式的第n个参数,n=1,2,&am...
    99+
    2023-06-13
  • bash if条件判断的使用
    目录if格式条件测试整数测试字符测试文件测试组合条件测试在bash中,if是可以对语句做选择执行,做if条件测试有整数测试,字符测试,文件测试三种形式。 if格式 单分支语法 if 条件; then 语句1 ...
    99+
    2023-02-16
    bashif条件判断 bashif判断
  • 如何实现导入css文件使用判断条件
    这篇文章主要为大家展示了“如何实现导入css文件使用判断条件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何实现导入css文件使用判断条件”这篇文章吧。方案一: 在HTML文档中使用条件导入,...
    99+
    2023-06-08
  • JavaScript如何使用逻辑AND/OR做条件判断
    小编给大家分享一下JavaScript如何使用逻辑AND/OR做条件判断,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用逻辑 AND/OR 做条件判断if变形语句!var fo...
    99+
    2024-04-02
  • Shell如何使用条件判断语句与循环
    本篇内容主要讲解“Shell如何使用条件判断语句与循环”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell如何使用条件判断语句与循环”吧!1.条件判断1.1基本语法[condition]注意...
    99+
    2023-06-09
  • 如何用条件注释判断浏览器
    本篇内容主要讲解“如何用条件注释判断浏览器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用条件注释判断浏览器”吧!<!--[if IE 6]> 仅IE6可识别 <![end...
    99+
    2023-06-08
  • JavaScript如何判断日期时间差
    这篇文章主要为大家展示了“JavaScript如何判断日期时间差”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript如何判断日期时间差”这篇文章吧...
    99+
    2024-04-02
  • JavaScript条件判断使用技巧详解
    目录引言避免直接使用字符串作为条件使用 Object不符合预期,提前 return使用 Map 配合 ObjectMap 也可以存储函数尽量避免三目表达式和 switch引言 本文花...
    99+
    2024-04-02
  • mysql如何设置时间查询条件
    这篇“mysql如何设置时间查询条件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“mysq...
    99+
    2024-04-02
  • Go语言常用条件判断空值逻辑如何使用
    本篇内容介绍了“Go语言常用条件判断空值逻辑如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 Go 中,有几种不同的方法来检查一个值...
    99+
    2023-07-05
  • php闰年的判断条件如何写
    PHP中判断闰年的条件可以使用以下代码:```phpfunction isLeapYear($year) {if (($year %...
    99+
    2023-10-12
    php
  • C语言中如何利用and-or条件判断的特性来实现三元条件判断
    这篇文章主要介绍了C语言中如何利用and-or条件判断的特性来实现三元条件判断,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。利用and-or...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作