广告位联系
返回顶部
分享到

mysql日期函数用法大全

Mysql 来源:互联网 作者:佚名 发布时间:2024-05-07 22:02:53 人浏览
摘要

一、 返回当前日期 1、CURRENT_DATE()、CURRENT_DATE和CURDATE()用法相同:返回当前日期 2、CURRENT_TIME()、CURRENT_TIME和CURTIME()用法相同:返回当前时间 3、CURRENT_TIMESTAMP()、CURRENT_TIMESTAMP、LOCALTIMESTAMP()、L

一、 返回当前日期

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • MySQL查看和优化数据库实例详细信息的命令
    在日常的数据库管理和维护中,查看和管理 MySQL 数据库实例是非常重要的任务。通过了解和监控数据库实例的状态,我们可以确保数据库的
  • mysql日期函数用法大全
    一、 返回当前日期 1、CURRENT_DATE()、CURRENT_DATE和CURDATE()用法相同:返回当前日期 2、CURRENT_TIME()、CURRENT_TIME和CURTIME()用法相同:返回当前时间
  • mysql排名的三种常见方式总结
    三种常见的排名 row_number、dense_rank、rank在MySQL 5.7中的实现 准备数据 表结构说明 成绩表 SC(SId,CId,score) SId 学?编号 CId 课程编号 score 分数 创建
  • MySQL导出ER图为图片或PDF的操作方法

    MySQL导出ER图为图片或PDF的操作方法
    1、Navicat 生成ER图 1、选择数据库,逆向数据库到模型 2、查看ER图 3、导出ER图 当我们选pdf格式的时候,发现导出的pdf不是一整张,而是分成
  • MySQL之union联合查询的实现介绍

    MySQL之union联合查询的实现介绍
    UNION 的含义是联合,并集,结合,在MySQL中可以将多个查询语句的结果合并成一个结果集,在MySQL 不支持FULL OUTER JOIN 的情况下,弥补了并集
  • mysql8.0.29卸载问题小结介绍

    mysql8.0.29卸载问题小结介绍
    提要(废话): 最近我将笔记本重装了,为了保留之前的程序,我把相关的注册表和环境备份了下来,重装之后重新导入成功再现了部分软
  • Navicat连接远程服务器里docker中mysql的方法(已解决

    Navicat连接远程服务器里docker中mysql的方法(已解决
    1. 开启端口映射 在docker中,我们需要将允许外界访问的端口通过配置文件映射出来,本文不需要将3306端口映射,但是该部分还是有实际用途
  • Mysql CASE IF 判空的具体使用介绍
    MySQL 中的条件表达式用于根据条件的结果选择不同的值或执行不同的操作。条件表达式可以在 SELECT 语句中生成计算字段、在 WHERE 语句中过
  • MySQL中匹配年月的教程方法
    一般数据库中给到的时间都是年-月-日形式的,那怎么匹配年-月/的形式? 如2021年8月怎么写(怎么在数据库中查询到关于2021年8月的数据)
  • mysql5.7.42到mysql8.2.0的升级(rpm方式)

    mysql5.7.42到mysql8.2.0的升级(rpm方式)
    注:本文在测试环境升级测试,建议先在测试环境验证。mysql-5.7.42为rpm安装,所以用rpm方式升级 1、升级准备 1、数据备份:在升级之前,务
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计