干货
返回日期date的星期索引(1=星期天,2=星期一, …7=星期六)
DAYOFWEEK(date):
select DAYOFWEEK(‘2019-07-17’); – 4 (星期三)
select DAYOFWEEK(now()); – 5 (星期四)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)
WEEKDAY(date):
select WEEKDAY(‘1997-11-05’); – 2 (星期三)
select WEEKDAY(now()); – 3 (星期四)
返回date的月份中的日期,在1到31范围内。
DAYOFMONTH(date):
select DAYOFMONTH(now()); – 18 (今天是2019-07-18)
返回date在一年中的日数, 在1到366范围内
DAYOFYEAR(date):
select DAYOFYEAR(now()); – 199
返回date的月份,范围1到12
MONTH(date):
select MONTH(now()); – 7(今天是2019-07-18)
返回date的星期名字
DAYNAME(date):
SELECT DAYNAME(NOW()); – Thursday (星期四)
返回date的月份名字
MONTHNAME(date)
SELECT MONTHNAME(NOW()) – July
返回date一年中的季度,范围1到4
QUARTER(date):
select QUARTER(now()); – 3
返回两个日期相减(expr1 − expr2 )相差的天数
DATEDIFF(expr1, expr2):
SELECT DATEDIFF(NOW(),‘2019-07-01 18:32:59’); – 17
日期时间运算函数:分别为给定的日期date加上(add)或减去(sub)一个时间间隔值expr
格式:
DATE_ADD(date, INTERVAL expr unit);
DATE_SUB(date, INTERVAL expr unit);
interval:间隔类型关键字
expr:一个表达式,对应后面的类型
unit:时间间隔的单位(间隔类型)(20个)
如下:
HOUR 小时
MINUTE 分
SECOND 秒
MICROSECOND 毫秒
YEAR 年
MONTH 月
DAY 日
WEEK 周
QUARTER 季
YEAR_MONTH 年和月
DAY_HOUR 日和小时
DAY_MINUTE 日和分钟
DAY_ SECOND 日和秒
HOUR_MINUTE 小时和分
HOUR_SECOND 小时和秒
MINUTE_SECOND 分钟和秒
举栗子:
SELECT NOW(),DATE_ADD(NOW(),INTERVAL 1 DAY); - - 今天增加一天以后的时间
SELECT NOW(),DATE_SUB(NOW(),INTERVAL 1 DAY); - - 今天减少一天以后的时间
选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒(常用)
SELECT now(),date(now()); -- 日期 2019-04-01
SELECT now(),time(now()); -- 时间 17:39:13
SELECT now(),year(now()); -- 年 2019
SELECT now(),quarter(now()); -- 季度 2
SELECT now(),month(now()); -- 月 4
SELECT now(),week(now()); -- 周 13
SELECT now(),day(now()); -- 日 1
SELECT now(),hour(now()); -- 小时 17
SELECT now(),minute(now()); -- 分钟 41
SELECT now(),second(now()); -- 秒 30
SELECT now(),microsecond(now()); -- 微秒 0