mysql日期函数(查询最近n(天/月/年)、计算日期之间的天数等)

这篇具有很好参考价值的文章主要介绍了mysql日期函数(查询最近n(天/月/年)、计算日期之间的天数等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mysql日期函数

目录

  1. mysql查询最近一个月数据
  2. 返回当前日期和时间
  3. 将字符串转变为日期
  4. 日期 d 减去 n 天后的日期
  5. 计时间差,返回 datetime_expr2 − datetime_expr1 的时间差算
  6. 查询当天数据

ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY);
->2017-06-25
ADDTIME(t,n) n 是一个时间表达式,时间 t 加上时间表达式 n

加 5 秒:

SELECT ADDTIME('2011-11-11 11:11:11', 5);
->2011-11-11 11:11:16 (秒)

添加 2 小时, 10 分钟, 5 秒:

SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5"); 
-> 2020-06-15 11:44:26
CURDATE() 返回当前日期
SELECT CURDATE();
-> 2018-09-19
CURRENT_TIMESTAMP() 返回当前日期和时间
SELECT CURRENT_TIMESTAMP()
-> 2018-09-19 20:57:43
CURTIME() 返回当前时间
SELECT CURTIME();
-> 19:59:02
DATE() 从日期或日期时间表达式中提取日期值
SELECT DATE("2017-06-15");    
-> 2017-06-15
DATEDIFF(d1,d2) 计算日期 d1->d2 之间相隔的天数
SELECT DATEDIFF('2001-01-01','2001-02-02')
-> -32

DATE_ADD(d,

INTERVAL expr type)

计算起始日期 d 加上一个时间段后的日期,type 值可以是:
  1. MICROSECOND
  2. SECOND
  3. MINUTE
  4. HOUR
  5. DAY
  6. WEEK
  7. MONTH
  8. QUARTER
  9. YEAR
  10. SECOND_MICROSECOND
  11. MINUTE_MICROSECOND
  12. MINUTE_SECOND
  13. HOUR_MICROSECOND
  14. HOUR_SECOND
  15. HOUR_MINUTE
  16. DAY_MICROSECOND
  17. DAY_SECOND
  18. DAY_MINUTE
  19. DAY_HOUR
  20. YEAR_MONTH
SELECT DATE_ADD("2017-06-15", INTERVAL 10 DAY);    
-> 2017-06-25

SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL 15 MINUTE);
-> 2017-06-15 09:49:21

SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 HOUR);
->2017-06-15 06:34:21

SELECT DATE_ADD("2017-06-15 09:34:21", INTERVAL -3 MONTH);
->2017-04-15
DATE_FORMAT(d,f) 按表达式 f的要求显示日期 d
SELECT DATE_FORMAT('2011-11-11 11:11:11','%Y-%m-%d %r')
-> 2011-11-11 11:11:11 AM

DATE_SUB(date,

INTERVAL expr type)

函数从日期减去指定的时间间隔。
mysql查询最近一个月数据

select * from user where date(time)>DATE_SUB(CURDATE(),

INTERVAL 1 MONTH)

DAY(d) 返回日期值 d 的日期部分
SELECT DAY("2017-06-15");  
-> 15
DAYNAME(d) 返回日期 d 是星期几,如 Monday,Tuesday
SELECT DAYNAME('2011-11-11 11:11:11')
->Friday
DAYOFWEEK(d) 日期 d 今天是星期几,1 星期日,2 星期一,以此类推
SELECT DAYOFWEEK('2011-11-11 11:11:11')
->6
DAYOFYEAR(d) 计算日期 d 是本年的第几天
SELECT DAYOFYEAR('2011-11-11 11:11:11')
->315
EXTRACT(type FROM d) 从日期 d 中获取指定的值,type 指定返回的值。
SELECT EXTRACT(MINUTE FROM '2011-11-11 11:11:11') 
-> 11
FROM_DAYS(n) 计算从 0000 年 1 月 1 日开始 n 天后的日期
SELECT FROM_DAYS(1111)
-> 0003-01-16
HOUR(t) 返回 t 中的小时值
SELECT HOUR('1:2:3')
-> 1
LAST_DAY(d) 返回给给定日期的那一月份的最后一天
SELECT LAST_DAY("2017-06-20");
-> 2017-06-30
MAKEDATE(year, day-of-year) 基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期
SELECT MAKEDATE(2017, 3);
-> 2017-01-03
MONTHNAME(d) 返回日期当中的月份名称,如 November
SELECT MONTHNAME('2011-11-11 11:11:11')
-> November
MONTH(d) 返回日期d中的月份值,1 到 12
SELECT MONTH('2011-11-11 11:11:11')
->11
NOW()
返回当前日期和时间
SELECT NOW()
-> 2018-09-19 20:57:43
PERIOD_DIFF(period1, period2) 返回两个时段之间的月份差值
SELECT PERIOD_DIFF(201710, 201703);
-> 7
QUARTER(d) 返回日期d是第几季节,返回 1 到 4
SELECT QUARTER('2011-11-11 11:11:11')
-> 4
SECOND(t) 返回 t 中的秒钟值
SELECT SECOND('1:2:3')
-> 3
SEC_TO_TIME(s) 将以秒为单位的时间 s 转换为时分秒的格式
SELECT SEC_TO_TIME(4320)
-> 01:12:00

STR_TO_DATE(string,

format_mask)

将字符串转变为日期
SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");
-> 2017-08-10
SUBDATE(d,n)
日期 d 减去 n 天后的日期
SELECT SUBDATE('2011-11-11 11:11:11', 1)
->2011-11-10 11:11:11 (默认是天)
SUBTIME(t,n) 时间 t 减去 n 秒的时间
SELECT SUBTIME('2011-11-11 11:11:11', 5)
->2011-11-11 11:11:06 (秒)
TIME(expression) 提取传入表达式的时间部分
SELECT TIME("19:30:10");
-> 19:30:10
TIMEDIFF(time1, time2) 计算时间差值
mysql> SELECT TIMEDIFF("13:10:11", "13:10:10");
-> 00:00:01
TIMESTAMP(expression, interval) 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
mysql> SELECT TIMESTAMP("2017-07-23",  "13:10:11");
-> 2017-07-23 13:10:11
mysql> SELECT TIMESTAMP('2003-12-31');
        -> '2003-12-31 00:00:00'
mysql> SELECT TIMESTAMP('2003-12-31 12:00:00','12:00:00');
        -> '2004-01-01 00:00:00'

TIMESTAMPDIFF(unit,

datetime_expr1,

datetime_expr2)

计时间差,返回 datetime_expr2 − datetime_expr1 的时间差算
mysql> SELECT TIMESTAMPDIFF(DAY,'2003-02-01','2003-05-01');   // 计算两个时间相隔多少天
        -> 89
mysql> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');   // 计算两个时间相隔多少月
        -> 3
mysql> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');    // 计算两个时间相隔多少年
        -> -1
mysql> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');  // 计算两个时间相隔多少分钟
        -> 128885
TO_DAYS(d)
查询当天数据
select * from user whereTO_DAYS(TIME(数据库字段))=TO_DAYS(NOW())
WEEK(d) 计算日期 d 是本年的第几个星期,范围是 0 到 53
SELECT WEEK('2011-11-11 11:11:11')
-> 45
WEEKDAY(d) 日期 d 是星期几,0 表示星期一,1 表示星期二
SELECT WEEKDAY("2017-06-15");
-> 3
WEEKOFYEAR(d) 计算日期 d 是本年的第几个星期,范围是 0 到 53
SELECT WEEKOFYEAR('2011-11-11 11:11:11')
-> 45
YEAR(d) 返回年份
SELECT YEAR("2017-06-15");
-> 2017
YEARWEEK(date, mode) 返回年份及第几周(0到53),mode 中 0 表示周天,1表示周一,以此类推
SELECT YEARWEEK("2017-06-15");
-> 201724

以上是根据菜鸟教程整理的一些比较有用的mysql日期函数文章来源地址https://www.toymoban.com/news/detail-638382.html

到了这里,关于mysql日期函数(查询最近n(天/月/年)、计算日期之间的天数等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java计算两个日期之间相差的天数的四种方法

    计算两个日期之间相差的天数的四种方法 第一种:时间戳的方式,计算两个日期的时间戳的差,再除当天的毫秒数即可得到相差的天数。 第二种:试用util包的Calendar类,每次增加一天,知道和结束时间相等的时候。 第三种:开始结束时间拆分为年月日,循环计算每年的天数

    2024年02月16日
    浏览(44)
  • 【实例】POSTGRE SQL如何用age函数实现两个日期之间的差值计算用法及代码示例

    【实例】POSTGRE SQL如何用age函数实现两个日期之间的差值计算用法及代码示例 工作中遇到需要计算两个日期之间的月份差值、天数差值,百度到的众多内容自己通过实践整理后,将最终的计算结果分享给大家 例: 用到的函数:age(end_date,start_date) age函数常用来计算年龄,计算

    2024年02月04日
    浏览(62)
  • mysql 日期 计算 时间差 天数差

    第一种:TIMESTAMPDIFF函数 三个参数。第一个参数是比较的类型: FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY 、 WEEK 、 MONTH 、 QUARTER、 YEAR 几种类型。第二、三参数是时间, 后减前 : 第二种: DATEDIFF函数 两个参数。前减后。得到相差的天数。 NOW() 当前的年月日时分秒,如:2023-03-09

    2024年02月07日
    浏览(54)
  • 计算日期到天数的换算

    目录 1.题目概述 2.题解 思路分析 具体实现 根据输入的日期,计算是这一年的第几天。 输入描述: 输入一行,每行空格分割,分别是年,月,日 输出描述 : 输出是这一年的第几天 示例: 输入:1982 3 4 输出:63 将每个月的天数保存在一个数组中,若输入年份是闰年,则二月

    2024年02月13日
    浏览(40)
  • java计算两个日期间的天数

    1、精确到年月日 2、精确到秒,向下取值 如有问题,欢迎指正~ 如能帮到您,欢迎点赞收藏~

    2024年02月11日
    浏览(47)
  • 在线推算两个日期相差天数的计算器

     具体请前往:在线推算两个日期相差天数的计算器

    2024年02月14日
    浏览(48)
  • java计算日期相差天数的4种方法

    方法1:long值相减(推荐) 方法2: 方法3: 方法4:

    2024年04月28日
    浏览(43)
  • C++类相关oj题目分享(计算日期到天数转换、日期差值、打印日期、日期累加)

    传送门 首先我们知道肯定是用一个数组来储存每个月的天数,更加方便。同时默认2月是28天,如果是闰年就是29。 总体的计算思路是: 1 月到 month-1 月的所有天数,加上 month 月的 day 。使用for循环能正好契合这个思路 当然这题的思路和解法非常多,我这也只是其中一个。 传

    2024年01月20日
    浏览(37)
  • MySQL 时间日期函数,流程控制函数,加密解密函数以及聚合查询函数

    注:本文仅作为查找函数和部分理解使用,希望能给大家带来帮助 以下函数均可以使用 重点记忆前三个红色标注的函数, 第一个函数返回值如2024-01-02的形式 第二个如 15:20:21 第三个则是两者追加 如: 2024-01-02 15:20:21 注:注意 DAYOFWEEK 和 WEEKDAY 的区别   相当于取date的某个单独的字

    2024年01月23日
    浏览(50)
  • C语言每日一题 ----计算日期到天数转换(Day 2)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编

    2024年02月11日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包