MySQL日期时间函数
DAYOFWEEK(date)
返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回日期date是星期几(0=星期一,1=星期二,……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
mysql> select WEEKDAY('1997-11-05');
-> 2
DAYOFMONTH(date)
返回date是一月中的第几日(在1到31范围内)
mysql> select DAYOFMONTH('1998-02-03');
-> 3
DAYOFYEAR(date)
返回date是一年中的第几日(在1到366范围内)
mysql> select DAYOFYEAR('1998-02-03');
-> 34
MONTH(date)
返回date中的月份数值
mysql> select MONTH('1998-02-03');
-> 2
DAYNAME(date)
返回date是星期几(按英文名返回)
mysql> select DAYNAME("1998-02-05");
-> 'Thursday'
MONTHNAME(date)
返回date是几月(按英文名返回)
mysql> select MONTHNAME("1998-02-05");
-> 'February'
QUARTER(date)
返回date是一年的第几个季度
mysql> select QUARTER('98-04-01');
-> 2
WEEK(date,first)
返回date是一年的第几周(first默认值0,first取值1表示周一是周的开始,0从周日开始)
mysql> select WEEK('1998-02-20');
-> 7
mysql> select WEEK('1998-02-20',0);
-> 7
mysql> select WEEK('1998-02-20',1);
-> 8
YEAR(date)
返回date的年份(范围在1000到9999)
mysql> select YEAR('98-02-03');
-> 1998
HOUR(time)
返回time的小时数(范围是0到23)
mysql> select HOUR('10:05:03');
-> 10
MINUTE(time)
返回time的分钟数(范围是0到59)
mysql> select MINUTE('98-02-03 10:05:03');
-> 5
SECOND(time)
返回time的秒数(范围是0到59)
mysql> select SECOND('10:05:03');
-> 3
PERIOD_ADD(P,N)
增加N个月到时期P并返回(P的格式YYMM或YYYYMM)
mysql> select PERIOD_ADD(9801,2);
-> 199803
PERIOD_DIFF(P1,P2)
返回在时期P1和P2之间月数(P1和P2的格式YYMM或YYYYMM)
mysql> select PERIOD_DIFF(9802,199703);
-> 11
DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
对日期时间进行加减法运算
(ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词,也可以用运算符 和-而不是函数