mysql日期函数用法大全

 更新时间:2024年05月07日 11:40:36   作者:半桶水专家  
日期函数在实际应用中可以帮助你轻松处理和操作日期时间数据,使得数据库操作更为灵活和便捷,本文主要介绍了mysql日期函数用法大全,感兴趣的可以了解一下

一、 返回当前日期

1、CURRENT_DATE()、CURRENT_DATE和CURDATE()用法相同:返回当前日期

2、CURRENT_TIME()、CURRENT_TIME和CURTIME()用法相同:返回当前时间

3、CURRENT_TIMESTAMP()、CURRENT_TIMESTAMP、LOCALTIMESTAMP()、LOCALTIMESTAMP、LOCALTIME()、LOCALTIME和NOW()用法相同:返回当前日期和时间

4、SYSDATE():返回函数执行时的时间

注意:NOW()取自mysql的变量”TIMESTAMP”,而这个变量在语句开始执行的时候就设定好了,所以在整个语句执行过程当中都不会变化,而SYSDATE()取的是动态的实时时间。

示例:SELECT NOW(),SYSDATE(),SLEEP(3),NOW(),SYSDATE()
输出结果:2022-10-15 16:18:18,2022-10-15 16:18:18,0,2022-10-15 16:18:18,2022-10-15 16:18:21

二、 提取日期部分

1、DATE() 函数用于提取日期或日期时间的日期部分。
示例:SELECT DATE('2022-10-15 16:45:30');
输出结果: 2022-10-15

2、DAY() 函数返回月份中的天数,是DAYOFMONTH()的同义词。
示例:SELECT DAY('2022-10-15');
输出结果:15

3、DAYNAME() 函数返回给定日期对应的周几的名称。
示例:SELECT DAYNAME('2022-10-15');
输出结果:Saturday

4、DAYOFMONTH() 函数返回一个日期的月份中的天数(0-31)。
示例:SELECT DAYOFMONTH('2022-10-15');
输出结果:15

5、DAYOFWEEK() 函数返回参数的星期索引。
示例:SELECT DAYOFWEEK('2022-10-15');
输出结果:7

6、DAYOFYEAR() 函数返回一年中的天数(1-366)。
示例:SELECT DAYOFYEAR('2022-10-15');
输出结果:288

7、EXTRACT() 函数用于从日期中提取指定部分内容。
示例:SELECT EXTRACT(YEAR FROM '2022-10-15');
输出结果:2022

8、FROM_DAYS() 函数将天数转换为日期。
示例:SELECT FROM_DAYS(8765);
输出结果:1998-05-19

9、LAST_DAY
函数返回参数所在月份的最后一天。
示例:SELECT LAST_DAY('2022-10-15');
输出结果:2022-10-31

10、MONTH() 函数返回日期的月份。
示例:SELECT MONTH('2022-10-15');
输出结果:10

11、MONTHNAME() 函数返回月份的名称。
示例:SELECT MONTHNAME('2022-10-15');
输出结果:October

12、QUARTER() 函数返回日期的季度。
示例:SELECT QUARTER('2022-10-15');
输出结果:4

13、WEEK() 函数返回给定日期的周数。
示例:SELECT WEEK('2022-10-15');
输出结果:41

14、WEEKDAY() 函数返回星期索引。
示例:SELECT WEEKDAY('2022-10-15');
输出结果:5

15、WEEKOFYEAR() 函数返回日期所在年份的周数。
示例:SELECT WEEKOFYEAR('2022-10-15');
输出结果:41

16、YEAR() 函数返回年份。
示例:SELECT YEAR('2022-10-15');
输出结果:2022

17、YEARWEEK() 函数返回年份和周数。
示例:SELECT YEARWEEK('2022-10-15');
输出结果:202241

18、TIME() 函数用于提取表达式中的时间部分。
示例:SELECT TIME('2022-10-15 16:45:30');
输出结果:16:45:30

19、HOUR() 函数用于提取小时数。
示例:SELECT HOUR('16:45:30');
输出结果:16

20、MICROSECOND() 函数返回参数中的微秒数。
示例:SELECT MICROSECOND('16:45:30.123456');
输出结果:123456

21、MINUTE() 函数返回参数中的分钟数。
示例:SELECT MINUTE('16:45:30');
输出结果:45

22、SECOND() 函数返回参数中的秒数。
示例:SELECT SECOND('16:45:30');
输出结果:30

三、 增加和减去时间

1、ADDDATE():向日期值增加时间间隔
用法:ADDDATE(date, INTERVAL expr unit)
示例:SELECT ADDDATE('2022-01-01', INTERVAL 7 DAY);
-- 输出结果:'2022-01-08'

2、ADDTIME():加上指定的时间
用法:ADDTIME(time, TIME expr)
示例:SELECT ADDTIME('10:15:30', '02:30:00');
-- 输出结果:'12:45:30'

3、DATE_ADD():向日期值增加时间间隔
用法:DATE_ADD(date, INTERVAL expr unit)
示例:SELECT DATE_ADD('2022-01-01', INTERVAL 1 MONTH);
-- 输出结果:'2022-02-01'

4、DATE_SUB():从日期中减去时间间隔
用法:DATE_SUB(date, INTERVAL expr unit)
示例:SELECT DATE_SUB('2022-01-01', INTERVAL 2 WEEK);
-- 输出结果:'2021-12-18'

5、DATEDIFF():计算两个日期之间的差值
用法:DATEDIFF(end_date, start_date)
示例:SELECT DATEDIFF('2022-01-10', '2022-01-01');
-- 输出结果:9

6、SUBDATE():当使用三个参数调用时,是DATE_SUB()的同义词
用法:SUBDATE(date, INTERVAL expr unit)
示例:SELECT SUBDATE('2022-01-01', INTERVAL 1 YEAR);
-- 输出结果:'2021-01-01'

7、SUBTIME():减去时间
用法:SUBTIME(time, TIME expr)
示例:SELECT SUBTIME('12:00:00', '00:30:00');
-- 输出结果:'11:30:00'

8、TIMEDIFF():计算时间差
用法:TIMEDIFF(time1, time2)
示例:SELECT TIMEDIFF('14:30:00', '12:15:00');
-- 输出结果:'02:15:00'

9、TIMESTAMPADD():给日期时间添加指定单位的时间
用法:TIMESTAMPADD(unit, interval, datetime_expr)
示例:SELECT TIMESTAMPADD(MONTH, 3, '2022-01-01');
-- 输出结果:'2022-04-01'

10、TIMESTAMPDIFF():返回两个日期时间表达式的时间差,使用指定的单位
用法:TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2)
示例:SELECT TIMESTAMPDIFF(DAY, '2022-01-01', '2022-01-10');
-- 输出结果:9

11、PERIOD_ADD():将N个月增加到格式为YYMM或YYYYMM的时间P中。返回格式为YYYYMM的值。 如果P或N为空,则此函数返回NULL。
用法:PERIOD_ADD(P, N)
示例:SELECT PERIOD_ADD(202201, 3);
-- 输出结果:202204

12、PERIOD_DIFF():返回两个时间(格式为YYMM或YYYYMM)之间的月数。
用法:PERIOD_DIFF(P1, P2)
示例:SELECT PERIOD_DIFF(202203, 202201);
-- 输出结果:2

四、格式化日期和时间

1、DATE_FORMAT():按指定格式格式化日期
用法:DATE_FORMAT(date, format)
示例:SELECT DATE_FORMAT('2022-10-31', '%Y/%m/%d')
输出结果:2022/10/31

2、FROM_UNIXTIME():将Unix时间戳格式化为日期
用法:FROM_UNIXTIME(unix_timestamp, format)
示例:SELECT FROM_UNIXTIME(1635657600, '%Y-%m-%d %H:%i:%s')
输出结果:2021-10-31 00:00:00

3、GET_FORMAT():返回日期格式字符串
用法:GET_FORMAT(format_type, locale)
示例:SELECT GET_FORMAT(DATE, 'fr_FR')
输出结果:%d.%m.%Y

4、TIME_FORMAT():格式化时间
用法:TIME_FORMAT(time, format)
示例:SELECT TIME_FORMAT('16:45:30', '%h:%i %p')
输出结果:04:45 PM

5、MAKEDATE():根据年份和一年中的天数创建日期
用法:MAKEDATE(year, day_of_year)
示例:SELECT MAKEDATE(2022, 300)
输出结果:2022-10-27

6、MAKETIME():根据小时、分钟和秒创建时间
用法:MAKETIME(hour, minute, second)
示例:SELECT MAKETIME(12, 30, 0)
输出结果:12:30:00

7、TO_DAYS():将日期参数转换为从公元0年开始的天数
用法:TO_DAYS(date)
示例:SELECT TO_DAYS('2022-10-31')
输出结果:737986

8、TO_SECONDS():将日期或日期时间参数转换为从公元0年开始的秒数
用法:TO_SECONDS(datetime)
示例:SELECT TO_SECONDS('2021-10-31 00:00:00')
输出结果:63768716800

9、SEC_TO_TIME():将秒数转换为 'hh:mm:ss' 格式
用法:SEC_TO_TIME(seconds)
示例:SELECT SEC_TO_TIME(3660)
输出结果:01:01:00

10、TIME_TO_SEC():将参数转换为秒数
用法:TIME_TO_SEC(time)
示例:SELECT TIME_TO_SEC('02:30:45')
输出结果:9045

11、UNIX_TIMESTAMP():返回Unix时间戳
用法:UNIX_TIMESTAMP(), UNIX_TIMESTAMP(datetime)
示例:SELECT UNIX_TIMESTAMP()
输出结果:1640611200

12、TIMESTAMP():带有一个参数时,返回日期或日期时间表达式;带有两个参数时,返回参数的总和
用法:TIMESTAMP(expr), TIMESTAMP(expr1, expr2)
示例:SELECT TIMESTAMP('2022-10-31'), SELECT TIMESTAMP('2022-10-31', '12:30:00')
输出结果:2022-10-31 00:00:00, 2022-10-31 12:30:00

五、时区转换

1、CONVERT_TZ(): 将一个时区转换为另一个时区
该函数用于将给定的时间值从一个时区转换为另一个时区。它接受三个参数:要转换的时间值、原始时区和目标时区。返回值是在目标时区下的对应时间值。
用法:SELECT CONVERT_TZ('2022-03-15 10:30:00', 'America/New_York', 'Asia/Tokyo');
输出结果:2022-03-15 23:30:00

2、UTC_DATE(): 返回当前的UTC日期
该函数返回当前系统时间的日期部分,使用协调世界时 (UTC) 表示。它不需要任何参数。
用法:SELECT UTC_DATE();
输出结果:2022-07-12

3、UTC_TIME(): 返回当前的UTC时间
该函数返回当前系统时间的时间部分,使用协调世界时 (UTC) 表示。它不需要任何参数。
用法:SELECT UTC_TIME();
输出结果:17:25:30

4、UTC_TIMESTAMP(): 返回当前的UTC日期和时间
该函数返回当前系统时间的日期和时间部分,使用协调世界时 (UTC) 表示。它不需要任何参数。
用法:SELECT UTC_TIMESTAMP();
输出结果:2022-07-12 17:25:30

到此这篇关于mysql日期函数用法大全的文章就介绍到这了,更多相关mysql日期函数用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • php连接不上mysql但mysql命令行操作正常的解决方法

    php连接不上mysql但mysql命令行操作正常的解决方法

    这篇文章主要介绍了php连接不上mysql但mysql命令行操作正常的解决方法,需要的朋友可以参考下
    2014-04-04
  • MySQL新手入门指南--快速参考

    MySQL新手入门指南--快速参考

    MySQL新手入门指南--快速参考...
    2006-11-11
  • mysql语句查询用户权限过程详解

    mysql语句查询用户权限过程详解

    这篇文章主要介绍了mysql语句查询用户权限过程详解,授予用户的权限可能分全局层级权限、数据库层级权限、表层级别权限、列层级别权限、子程序层级权限。,需要的朋友可以参考下
    2019-06-06
  • Mysql之如何创建函数问题

    Mysql之如何创建函数问题

    这篇文章主要介绍了Mysql之如何创建函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • MySQL20个高性能架构设计原则(值得收藏)

    MySQL20个高性能架构设计原则(值得收藏)

    这篇文章主要介绍了MySQL20个高性能架构设计原则,帮助大家更好的理解和使用MySQL,感兴趣的朋友可以了解下
    2020-08-08
  • MySQL内存表的特性与使用介绍

    MySQL内存表的特性与使用介绍

    临时表和内存表都可以人工创建,但临时表更多的作用是系统自己创建后,组织数据以提升性能,如子查询,临时表在多个连接之间不能共享。这里只讨论内存表
    2013-02-02
  • MySQL中的常用函数及用法总结

    MySQL中的常用函数及用法总结

    MySQL是一种常用的关系型数据库管理系统,它提供了许多内置函数来处理数据,本文将介绍MySQL中的各种常用函数,包括字符串函数、日期函数、数学函数、聚合函数等,需要的朋友可以参考下
    2023-06-06
  • 修改Mysql索引长度限制解决767 byte限制问题

    修改Mysql索引长度限制解决767 byte限制问题

    这篇文章主要介绍了修改Mysql索引长度限制解决767 byte限制问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • MySQL 整体架构介绍

    MySQL 整体架构介绍

    这篇文章主要介绍了MySQL 整体架构的相关资料,帮助大家更好的了解和使用MySQL数据库,感兴趣的朋友可以了解下
    2020-10-10
  • mysql 半同步复制模式使用小结

    mysql 半同步复制模式使用小结

    MySQL半同步复制是一种数据复制策略,它允许在主服务器和至少一个从服务器之间进行数据复制,本文主要介绍了mysql 半同步复制模式使用小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-09-09

最新评论