【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 @ 2022-08-11 16:48  植树chen  阅读(46)  评论(0编辑  收藏  举报