【MySQL】日期和时间函数(上)

1.获取日期、时间

函数 小写 用法
CURDATE(),CURRENT_DATE() curdate,current_date 返回当前日期,只包含年月日 2022-08-11
CURTIME(),CURRENT_TIME() curtime,current_time 返回当前时间,只包含时分秒 14:39:12
NOW(),SYSDATE(),CURRENT_TIMESTAMP(),LOCALTIME(),LOCALTIMESTAMP() now,sysdate,current_timestamp,localtime,localtimestamp 返回当前系统日期和时间 2022-08-11 14:39:12
UTC_DATE() utc_date 返回UTC(世界标准时间)日期 2022-08-11
UTC_TIME() utc_time 返回UTC(世界标准时间)时间 06:39:12
SELECT
CURDATE(), -- 2022-08-11
CURTIME(), -- 14:39:12
NOW(), -- 2022-08-11 14:39:12
SYSDATE()+0, -- 20220811143912
UTC_DATE(),UTC_DATE()+0, -- 2022-08-11 20220811
UTC_TIME(),UTC_TIME()+0 -- 06:39:12 63912
FROM DUAL;

2.日期与时间戳的转换

函数 小写 用法
UNIX_TIMESTAMP() unix_timestamp 以Unix时间戳的形式返回当前时间 1660201350
UNIX_TIMESTAMP(date) unix_timestamp 将时间date以Unix时间戳的形式返回 1320981071
FROM_UNIXTIME(timestamp) from_unixtime 将Unix时间戳转化为普通格式时间 2019-12-15 11:35:10
SELECT
UNIX_TIMESTAMP(NOW()), -- 1660201350
UNIX_TIMESTAMP(CURDATE()), -- 1660147200
UNIX_TIMESTAMP(CURTIME()), -- 1660201350
UNIX_TIMESTAMP('2011-11-11 11:11:11'), -- 1320981071
FROM_UNIXTIME(1576380910) -- 2019-12-15 11:35:10
FROM DUAL;

3.获取月份、星期、星期数、天数等函数

函数 小写 用法
YEAR(date),MONTH(date),DAY(date) year,month,day 返回具体的日期值
HOUR(time),MINUTE(time),SECOND(time) hour,minute,second 返回具体的时间值
MONTHNAME(date) monthName 返回月份名称 January,...
DAYNAME(date) dayName 返回星期几 MonDay,TuesDay...SunDay
WEEKDAY(date) weekDay 返回周几,周一为0,周日为6 0,1,2,3,4,5,6
QUARTER(date) quarter 返回日期对应的季度 1,2,3,4
WEEK(date),WEEKOFYEAR(date) week,weekOfYear 返回一年中的第几周
DAYOFMONTH(date) dayOfMonth 返回日期位于所在月份的第几天
DAYOFWEEK(date) dayOfWeek 返回周几,周日为1,周六为7 2,3,4,5,6,7,1
SELECT
YEAR(CURDATE()), -- 2022
MONTH(CURDATE()), -- 8
DAY(CURDATE()), -- 11
HOUR(CURTIME()), -- 16
MINUTE(NOW()), -- 11
SECOND(SYSDATE()) -- 16
FROM DUAL;
SELECT
MONTHNAME('2021-10-26'), -- October
DAYNAME('2021-10-26'), -- Tuesday
WEEKDAY('2021-10-26'), -- 1
QUARTER(CURDATE()), -- 3
WEEK(CURDATE()), -- 32
DAYOFYEAR(NOW()), -- 233
DAYOFMONTH(NOW()), -- 11
DAYOFWEEK(NOW()) -- 5
FROM DUAL;

4.日期的操作函数

函数 小写 用法
EXTRACT(type FROM date) extract 返回指定日期中特定的部分,type指定返回的值

该函数中type的取值可以为

第一组:

type取值 小写 含义
MICROSECOND microsecond 返回毫秒数
SECOND second 返回秒数
MINUTE minute 返回分钟数
HOUR hour 返回小时数
DAY day 返回天数
WEEK week 返回日期在一年中的第几个星期
MONTH month 返回日期在一年中的第几个月
QUARTER quarter 返回日期在一年中的第几个季度
YEAR year 返回日期中的年份

第二组:

type取值 小写 含义
SECOND_MICROSECOND second_microsecond 返回秒和毫秒值
MINUTE_MICROSECOND minute_microsecond 返回分钟和毫秒值
MINUTE_SECOND minute_second 返回分钟和秒值
HOUR_MICROSECOND hour_microsecond 返回小时和毫秒值
HOUR_MINUTE hour_minute 返回小时和分钟值
DAY_MICROSECOND day_microsecond 返回天和毫秒值
DAY_SECOND day_second 返回天和秒值
DAY_MINUTE day_minute 返回天和分钟值
DAY_HOUR day_hour 返回天和小时
YEAR_MONTH year_month 返回年和月
SELECT
EXTRACT(MINUTE FROM NOW()), -- 47
EXTRACT(WEEK FROM NOW()), -- 32
EXTRACT(QUARTER FROM NOW()), -- 3
EXTRACT(MINUTE_SECOND FROM NOW()) -- 4704
FROM DUAL;
posted @   植树chen  阅读(86)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示