|
-- DATE():获取日期或日期时间表达式的日期部分
SELECT DATE('2017-06-15'),DATE('2017-06-15 12:12:12'),DATE(now())
-- time() 获取日期或日期时间表达式的时间部分
SELECT time('2012-12-12 12:12:12'),time('12:12:12'),time(now())
-- --------------------------------------------------------------------------年份 -- YEAR(d) 返回年份
SELECT YEAR("2017-06-15"),YEAR(CURDATE())
-- --------------------------------------------------------------------------季度 -- QUARTER(d) 返回季度数字
SELECT QUARTER('2011-11-11 11:11:11'),QUARTER(CURDATE())
-- --------------------------------------------------------------------------月份 -- MONTHNAME(d) 返回英文月份名称
SELECT MONTHNAME('2011-11-11 11:11:11'),MONTHNAME(CURDATE())
-- MONTH(d) 返回月份数字
SELECT MONTH('2011-05-11 11:11:11'),MONTH(CURDATE())
-- --------------------------------------------------------------------------星期 -- DAYNAME(d) 返回英文的星期
SELECT DAYNAME('2011-11-11 11:11:11'),DAYNAME(CURDATE())
-- WEEK(d) 计算日期 d 是本年的第几个星期,范围是 0 到 53
SELECT WEEK('2011-1-1 11:11:11'),week(CURDATE())
-- WEEKDAY(d) 日期 d 是星期几,0 表示星期一,1 表示星期二
SELECT WEEKDAY('2017-06-15'),WEEKDAY(CURDATE())
-- WEEKOFYEAR(d) 返回日期(1-53)的日历周
SELECT WEEKOFYEAR('2011-1-1 11:11:11'),WEEKOFYEAR(CURDATE())
-- YEARWEEK(date, mode) 返回年份和星期,mode 中 0 表示周天,1表示周一,以此类推
SELECT YEARWEEK("2017-06-15"),YEARWEEK(CURDATE()),YEARWEEK(CURDATE(),6)
-- --------------------------------------------------------------------------天 -- DAYOFYEAR(d) 返回本年的第几天
SELECT DAYOFYEAR('2011-11-11 11:11:11'),DAYOFYEAR(CURDATE())
-- DAY(d)、DAYOFMONTH() 返回日期值 d 的日期部分
select DAY('2017-06-05'),DAYOFMONTH('2017-06-05'),DAY(now()),DAYOFMONTH(now())
-- DAYOFWEEK(d) 返回当周的第几天,注意1为周日,7为周六,周日为一周的开始
SELECT DAYOFWEEK('2011-11-11 11:11:11'),DAYOFWEEK(CURDATE())
-- --------------------------------------------------------------------------小时 -- HOUR() 返回小时值
select HOUR(now()),HOUR('14:28:25')
-- --------------------------------------------------------------------------分钟 -- MINUTE() 返回分钟数
SELECT MINUTE('1:2:03'),MINUTE(now())
-- --------------------------------------------------------------------------秒 -- SECOND() 返回秒数字
SELECT SECOND('1:2:3'),SECOND(now())
-- --------------------------------------------------------------------------微秒 -- MICROSECOND() 返回微妙数
SELECT MICROSECOND('2017-06-20 09:34:00.000023'),MICROSECOND(now()),MICROSECOND('09:34:00.000023')
-- --------------------------------------------------------------------------函数
-- EXTRACT(type FROM d) 从日期 d 中获取指定的值,type 指定返回的值。type可取值为:
| MICROSECOND | 微妙 | | SECOND | 秒 | | MINUTE | 分钟 | | HOUR | 小时(24) | | DAY | 天 | | WEEK | 年周 | | MONTH | 月份 | | QUARTER | 季度 | | YEAR | 年份 | | SECOND_MICROSECOND | 秒-微妙 | | MINUTE_MICROSECOND | 分钟-秒-微妙 | | MINUTE_SECOND | 分钟-秒 | | HOUR_MICROSECOND | 小时(24)-分钟-秒-微妙 | | HOUR_SECOND | 小时(24)-分钟-秒 | | HOUR_MINUTE | 小时(24)-分钟 | | DAY_MICROSECOND | 小时(24)-分钟-秒-微妙 | | DAY_SECOND | 小时(24)-分钟-秒 | | DAY_MINUTE | 小时(24)-分钟 | | DAY_HOUR | 小时(24) | | YEAR_MONTH | 年-月 |
LAST_DAY(d) 返回给给定日期的那一月份的最后一天
SELECT LAST_DAY("2017-06-20"),LAST_DAY(CURDATE()),LAST_DAY(now())

MAKEDATE(year, day-of-year) 基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期
SELECT MAKEDATE(2017, 3);

MAKETIME(hour, minute, second) 组合时间,参数分别为小时、分钟、秒
SELECT MAKETIME(11, 35, 4);

SEC_TO_TIME(s) 将以秒为单位的时间 s 转换为时分秒的格式
SELECT SEC_TO_TIME(4320)

TIME_TO_SEC(t) 将时间 t 转换为秒
SELECT TIME_TO_SEC('1:12:00')

TIMESTAMP(expression, interval) 单个参数时,函数返回日期或日期时间表达式;有2个参数时,将参数加和
SELECT TIMESTAMP('2017-07-23', '13:10:11'),TIMESTAMP('2017:07:23'),TIMESTAMP(CURDATE())

-- --------------------------------------------------------------------------其他
-- UNIX_TIMESTAMP() 返回Unix时间戳 select UNIX_TIMESTAMP(now()-1),UNIX_TIMESTAMP()
-- UTC_DATE() 返回当前UTC日期 select UTC_DATE()
-- UTC_TIME() 返回当前UTC时间 select UTC_TIME()
-- UTC_TIMESTAMP() 返回当前UTC日期和时间 select UTC_TIMESTAMP()
-- FROM_UNIXTIME() 将Unix时间戳格式化为日期 |