本文共 3219 字,大约阅读时间需要 10 分钟。
MySQL 提供了丰富的日期和时间函数,能够帮助开发者高效地处理日期时间数据。以下是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');----> 5mysql> 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');----> 7mysql> select WEEK('1998-02-20',0);----> 7mysql> 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
DATE_ADD(date, INTERVAL expr type)
mysql> SELECT "1997-12-31 23:59:59" INTERVAL 1 SECOND;----> 1998-01-01 00:00:00mysql> SELECT INTERVAL 1 DAY "1997-12-31";----> 1998-01-01mysql> SELECT "1998-01-01" - INTERVAL 1 SECOND;----> 1997-12-31 23:59:59
DATE_SUB(date, INTERVAL expr type)
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 SECOND);----> 1998-01-01 00:00:00mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 DAY);----> 1998-01-01 23:59:59
ADDDATE(date, INTERVAL expr type)
mysql> SELECT DATE_ADD("1997-12-31 23:59:59",INTERVAL 1 SECOND);----> 1998-01-01 00:00:00
SUBDATE(date, INTERVAL expr type)
mysql> SELECT DATE_SUB("1998-01-01 00:00:00",INTERVAL 1 DAY);----> 1997-12-31
EXTRACT(字段 FROM date)
mysql> SELECT EXTRACT(YEAR FROM "1999-07-02");----> 1999mysql> SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");----> 199907mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");----> 20102
CURDATE()
'YYYY-MM-DD'
或 YYYYMMDD
格式。mysql> select CURDATE();----> '1997-12-15'
CURTIME()
'HH:MM:SS'
或 HHMMSS
格式。mysql> select CURTIME();----> '23:50:26'
NOW()
'YYYY-MM-DD HH:MM:SS'
或 YYYYMMDDHHMMSS
格式。mysql> select NOW();----> '1997-12-15 23:50:26'
UNIX_TIMESTAMP()
mysql> select UNIX_TIMESTAMP();----> 882226357
FROM_UNIXTIME(unix_timestamp)
mysql> select FROM_UNIXTIME(875996580);----> '1997-10-04 22:23:00'
SEC_TO_TIME(seconds)
mysql> select SEC_TO_TIME(2378);----> '00:39:38'
TIME_TO_SEC(time)
mysql> select TIME_TO_SEC('22:23:00');----> 80580
以上是MySQL中常用的日期时间函数,希望这些信息能帮助到您!
转载地址:http://dndfk.baihongyu.com/