MySQL日期相关函数
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 ;
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgebiff
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01