语法
YEAR(date)
返回日期的年份,范围为1000到9999,或者对于“零”日期返回0。
QUARTER(date)
返回日期的一年中的季度,范围为1到4。
MONTH(date)
返回日期的月份,1月至12月的范围为1至12,对于包含月份为零的日期(如“0000-00-00”或“2008-00-00”),返回0。
WEEK(date[,mode])
此函数返回日期的周号。 WEEK()的双参数使您能够指定星期是从星期天还是星期一开始,以及返回值是在0到53还是从1到53的范围内。如果省略mode参数,则值 使用了default_week_format系统变量。
实例
SELECT YEAR('2011-12-13'); # 2011
SELECT QUARTER('2011-12-13'); # 4
SELECT MONTH('2011-12-13'); # 12
SELECT WEEK('2011-12-31'); # 52
SELECT WEEK('2004-12-31',0); # 52
SELECT WEEK('2004-12-31',1); # 53
SELECT WEEK('2004-01-01',0); # 0
SELECT WEEK('2004-01-01',1); # 1
查询日期时间
select current_date();//查询当天日期
select current_time();//查询当天时间
select current_timestamp();//查询当天时间日期
获取指定日期中月份的最后一天和第一天
//第一天
set @day = DATE_SUB(NOW(),INTERVAL DAYOFMONTH(NOW()) -1 day);
select @day;
//最后一天
set @day01 = LAST_DAY(NOW());
select @day01;
两个日期相加
set @day = date_add(NOW(),INTERVAL 5 day);
select @day;
日期相减
set @day = date_sub(NOW(),INTERVAL 5 day);
select @day;
指定日期--周的处理
-- 一周前的日期
set @week = DATE_SUB('2020-05-20',INTERVAL 1 week);
select @week;
-- 指定日期的一周的星期一
select DATE(DATE_ADD(@week,INTERVAL 0-WEEKDAY(@week) day));
-- 指定日期的一周的星期日
select DATE(DATE_ADD(@week,INTERVAL 6-WEEKDAY(@week) day));