本文主要介绍了MySQL数据库中与时间处理相关的一系列函数,包括获取星期、月份、日期、季度、年份、小时、分钟和秒等信息的函数。 在MySQL中,时间函数对于处理和分析带有时间戳的数据至关重要。以下是一些重要的MySQL时间函数及其用法: 1. DAYOFWEEK(date): 这个函数返回指定日期date对应的星期几,其中1表示星期日,2表示星期一,以此类推,7表示星期六。例如:`SELECT DAYOFWEEK('1998-02-03');` 返回结果是3,代表星期三。 2. WEEKDAY(date): 与DAYOFWEEK类似,但返回值从0开始,0代表星期一,1代表星期二,到6代表星期日。例如:`SELECT WEEKDAY('1997-10-04 22:23:00');` 返回5,代表星期六。 3. DAYOFMONTH(date): 提供了获取日期中月份内第几天的功能,返回值范围是1到31。例如:`SELECT DAYOFMONTH('1998-02-03');` 返回3,表示2月的第3天。 4. DAYOFYEAR(date): 返回一年中的第几天,范围是1到366(闰年)。例如:`SELECT DAYOFYEAR('1998-02-03');` 返回34,意味着1998年的第34天。 5. MONTH(date): 函数返回日期的月份,值范围是1到12。例如:`SELECT MONTH('1998-02-03');` 返回2,表示2月。 6. DAYNAME(date) 和 MONTHNAME(date): 分别返回日期对应的星期名和月份名,结果为英文。例如: - `SELECT DAYNAME("1998-02-05");` 返回 'Thursday'。 - `SELECT MONTHNAME("1998-02-05");` 返回 'February'。 7. QUARTER(date): 用于获取日期所在的季度,返回值范围是1到4。例如:`SELECT QUARTER('98-04-01');` 返回2,表示第二季度。 8. WEEK(date, first): 返回给定日期是当年的第几周,first参数可选,表示一周的起始日,默认是0(周日为一周的第一天),设置为1则表示周一为一周的开始。例如: - `SELECT WEEK('1998-02-20');` 返回7。 - `SELECT WEEK('1998-02-20', 0);` 仍然返回7。 - `SELECT WEEK('1998-02-20', 1);` 返回8。 9. YEAR(date): 提供获取日期的年份功能,返回值范围是1000到9999。例如:`SELECT YEAR('98-02-03');` 返回1998。 10. HOUR(time), MINUTE(time), SECOND(time): 这些函数分别用于提取时间戳中的小时、分钟和秒。例如: - `SELECT HOUR('10:05:03');` 返回10,即小时数。 - `SELECT MINUTE('98-02-03 10:05:03');` 返回5,即分钟数。 - `SELECT SECOND('98-02-03 10:05:03');` 返回3,即秒数。 这些函数在SQL查询中非常实用,尤其是在处理日期和时间相关的数据分析、报表生成和业务逻辑中。通过熟练掌握这些函数,开发者可以更高效地操作数据库中的时间数据,满足各种需求。
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
-> 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()的同义词,也可以用运算符 和-而不是函数
date是一个DATETIME或DATE值,expr对date进行加减法的一个表达式字符串type指明表达式expr应该如何被解释
[type值 含义 期望的expr格式]:
剩余6页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦