MySQL日期时间函数大全
发布日期:2025-04-17 23:39:34
浏览次数:14
分类:精选文章
本文共 3219 字,大约阅读时间需要 10 分钟。
MySQL日期时间函数大全
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()
- 返回从'1970-01-01 00:00:00'GMT开始的秒数。
- 示例:
mysql> select UNIX_TIMESTAMP();----> 882226357
FROM_UNIXTIME(unix_timestamp)
- 将Unix时间戳转换为日期和时间。
- 示例:
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中常用的日期时间函数,希望这些信息能帮助到您!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2026年06月03日 05时44分29秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP设计模式之----观察者模式
2023-03-02
php设计模式之装饰器模式
2023-03-02
R&Python Data Science系列:数据处理(5)--字符串函数基于R(一)
2023-03-02
PHP设计模式:观察者模式
2023-03-02
php访问mysql(1)
2023-03-02
php详细学习1
2023-03-02
php语言优劣
2023-03-02
PHP语言最优雅的支付SDK扩展包
2023-03-02
PHP请求https域名发生segment fault段错误
2023-03-02
PHP读写XML文件
2023-03-02
PHP读写XML文件
2023-03-02
R&Python Data Science 系列:数据处理(3)
2023-03-02
php读取xml 数据库字段超长处理
2023-03-02
php课程 12-40 抽象类的作用是什么
2023-03-02
php课程 4-16 数组自定义函数(php数组->桶)
2023-03-02
PHP调用接口用post方法传送json数据
2023-03-02
php转化IP为整形
2023-03-02
php输出数据到csv文件
2023-03-02
php输出语句
2023-03-02
php运行原理详细说明
2023-03-02