当前位置: 代码网 > it编程>数据库>Mysql > MySQL日期相关函数

MySQL日期相关函数

2026年08月02日 Mysql 我要评论
mysql中,字符串的年月日时分秒按照 yyyy-mm-dd hh:mm:ss 这种格式排列,那这个字符串就是日期1、 curdate() :获取年月日select curdate(); -- 202

mysql中,字符串的年月日时分秒按照 yyyy-mm-dd hh:mm:ss 这种格式排列,那这个字符串就是日期
1、 curdate() :获取年月日

select curdate(); -- 2023-02-04

2、 curtime() : 获取时分秒

 select curtime(); -- 14:17:02

3、 now()、sysdate()、current_timestamp, current_timestamp()
now()和sysdate()都是获取当前时间,now()获取当前sql执行时的快照时间,一段sql中不论调用了几次now(),返回的结果都跟第一次调用的一样如:

 select now(),sysdate(),sleep(3),now(),sysdate();

localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,current_timestamp()和now()是结果一样,他们功能相同,如下图

select now(),sysdate(),localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,current_timestamp(),sleep(3),now(),sysdate(),localtime,localtime(),localtimestamp,localtimestamp(),current_timestamp,current_timestamp();

4、 str_to_date():字符串转日期

select str_to_date('2020.02.29 15:35:24','%y.%m.%d %h:%i:%s');

5、 date_format():日期转字符串

  select date_format(now(),'%y.%m.%d %h:%i:%s');

6、 date_add():日期加一定天数或小时数,单位可以指定

 select date_add('2023-02-04',interval 1 day);

select date_add('2023-02-04',interval 1 hour);

7、 date_sub():日期减一定天数或小时数,单位可以指定,用法同date_add()
8、 datediff():两个日期之间相差的天数

  select datediff('2023-02-04','2023-02-03');

select datediff(‘2023-02-04 :00:00:00’,‘2023-02-03 23:59:59’);

9、 period_diff():返回两个日期相差的月数,两个参数的格式为yyyymm或者yymm

 select period_diff(201803, 201703); 

select period_diff(1703, 1612);

10、 quarter():返回一个日期所在季度,返回值有4个值1,2,3,4

  select quarter('2020-01-01');

11、year():从日期中截取年

select year('2023-01-01'); -- 2023
select year(now()); -- 2023

12、month():从日期中截取月

select month('2023-01-01') -- 1

13、day():从日期中截取日

select day('2023-01-31') -- 31

14、to_days():计算指定日期距离公元1年的天数

select to_days('2020-07-24'),to_days('2020-07-23'),to_days('2020-07-24')- to_days('2020-07-23');

15、yearweek():从日期中返回年和当前日期所在周数

select yearweek('2023-01-01 15:00:00'); -- 202301
select yearweek(sysdate()); -- 202305

16、makedate():拼接日期,第一个参数是年,第二个参数是一年中的第几天,类型都是数字

select makedate(2020,33);  

17、maketime():拼接时间三个参数分别是时分秒,都是数字

select maketime(20,33,56);

mysql中的时间单位
microsecond
second
minute
hour
day
week
month
quarter
year
second_microsecond
minute_microsecond
minute_second
hour_microsecond
hour_second
hour_minute
day_microsecond
day_second
day_minute
day_hour
year_month
带有下划线的都是大的时间单位在前,小的时间单位在后,比如 :
interval ‘1 1’ year_month 代表1年1个月

select '2020-07-01','2020-07-01'-interval '1 1' year_month;

interval ‘1 2 3 4’ day_second 代表1天2小时3分4秒

select '2020-07-01','2020-07-01'-interval '1 2 3 4' day_second ;

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com