mysql 日期函数.txt
### MySQL 日期函数详解 #### 1. DAYOFWEEK(date) **功能**: 返回指定日期是一周中的第几天。返回值范围为1(星期日)到7(星期六),符合ODBC标准。 **示例**: ```sql SELECT DAYOFWEEK('1998-02-03'); ``` 输出结果:`3`(表示星期二) #### 2. WEEKDAY(date) **功能**: 返回指定日期是一周中的第几天,但计算方式不同。返回值范围为0(星期一)到6(星期日)。 **示例**: ```sql SELECT WEEKDAY('1997-10-04 22:23:00'); ``` 输出结果:`5`(表示星期五) ```sql SELECT WEEKDAY('1997-11-05'); ``` 输出结果:`2`(表示星期三) #### 3. DAYOFMONTH(date) **功能**: 返回指定日期是该月的第几天。返回值范围为1至31。 **示例**: ```sql SELECT DAYOFMONTH('1998-02-03'); ``` 输出结果:`3` #### 4. DAYOFYEAR(date) **功能**: 返回指定日期是一年的第几天。返回值范围为1至366。 **示例**: ```sql SELECT DAYOFYEAR('1998-02-03'); ``` 输出结果:`34` #### 5. MONTH(date) **功能**: 返回指定日期是哪个月。返回值范围为1至12。 **示例**: ```sql SELECT MONTH('1998-02-03'); ``` 输出结果:`2` #### 6. DAYNAME(date) **功能**: 返回指定日期是一周中的哪一天,返回的是英文名称。 **示例**: ```sql SELECT DAYNAME("1998-02-05"); ``` 输出结果:`Thursday` #### 7. MONTHNAME(date) **功能**: 返回指定日期所在的月份,返回的是英文名称。 **示例**: ```sql SELECT MONTHNAME("1998-02-05"); ``` 输出结果:`February` #### 8. QUARTER(date) **功能**: 返回指定日期所在季度。返回值范围为1至4。 **示例**: ```sql SELECT QUARTER('1998-04-01'); ``` 输出结果:`2` #### 9. WEEK(date) 和 WEEK(date, first) **功能**: 返回指定日期所在的一周编号。默认情况下,一周的第一天为星期一。可以通过第二个参数 `first` 来指定一周的第一天是星期日(0)还是星期一(1)。返回值范围为0至52或53。 **示例**: ```sql SELECT WEEK('1998-02-20'); ``` 输出结果:`7` ```sql SELECT WEEK('1998-02-20', 0); ``` 输出结果:`7` ```sql SELECT WEEK('1998-02-20', 1); ``` 输出结果:`8` #### 10. YEAR(date) **功能**: 返回指定日期所在的年份。返回值范围为1000至9999。 **示例**: ```sql SELECT YEAR('1998-02-03'); ``` 输出结果:`1998` #### 11. HOUR(time) **功能**: 返回指定时间的小时数。返回值范围为0至23。 **示例**: ```sql SELECT HOUR('10:05:03'); ``` 输出结果:`10` #### 12. MINUTE(time) **功能**: 返回指定时间的分钟数。返回值范围为0至59。 **示例**: ```sql SELECT MINUTE('1998-02-03 10:05:03'); ``` 输出结果:`5` #### 13. SECOND(time) **功能**: 返回指定时间的秒数。返回值范围为0至59。 **示例**: ```sql SELECT SECOND('10:05:03'); ``` 输出结果:`3` #### 14. PERIOD_ADD(P, N) **功能**: 向指定的时间周期(格式为 `YYMM` 或 `YYYYMM`)添加一个时间段 `N` 并返回新的时间周期。 **示例**: ```sql SELECT PERIOD_ADD(9801, 2); ``` 输出结果:`199803` #### 15. PERIOD_DIFF(P1, P2) **功能**: 计算两个时间周期 `P1` 和 `P2` 之间的差值。时间周期的格式同样为 `YYMM` 或 `YYYYMM`。 **示例**: 假设 `P1 = 199801`, `P2 = 199709`,则: ```sql SELECT PERIOD_DIFF(199801, 199709); ``` 输出结果:`4`(表示两者相差四个月) #### 16. DATE_ADD(date, INTERVAL expr type)、DATE_SUB(date, INTERVAL expr type)、ADDDATE(date, INTERVAL expr type)、SUBDATE(date, INTERVAL expr type) **功能**: 对指定日期进行加减运算。`DATE_ADD` 和 `ADDDATE` 是等效的,用于向日期增加间隔;`DATE_SUB` 和 `SUBDATE` 也是等效的,用于从日期中减去间隔。 **示例**: ```sql SELECT DATE_ADD('2023-01-01', INTERVAL 1 DAY); ``` 输出结果:`2023-01-02` ```sql SELECT SUBDATE('2023-01-01', INTERVAL 1 DAY); ``` 输出结果:`2022-12-31` #### 17. EXTRACT(type FROM date) **功能**: 从指定日期中提取特定部分。 **示例**: ```sql SELECT EXTRACT(YEAR_MONTH FROM '2023-01-01'); ``` 输出结果:`202301` #### 18. TO_DAYS(date) **功能**: 将指定日期转换为相对于“0000-00-00”日期的天数。 **示例**: ```sql SELECT TO_DAYS(NOW()); ``` 输出结果:返回当前日期对应的天数 #### 19. FROM_DAYS(N) **功能**: 将指定的天数转换回日期格式。 **示例**: ```sql SELECT FROM_DAYS(737791); ``` 输出结果:`2023-01-01` #### 20. DATE_FORMAT(date, format) **功能**: 按照指定格式对日期进行格式化输出。 **示例**: ```sql SELECT DATE_FORMAT('2023-01-01', '%Y-%m-%d'); ``` 输出结果:`2023-01-01` #### 21. TIME_FORMAT(time, format) **功能**: 按照指定格式对时间进行格式化输出。 **示例**: ```sql SELECT TIME_FORMAT('12:34:56', '%H:%i:%s'); ``` 输出结果:`12:34:56` #### 22. CURDATE() **功能**: 返回当前日期。 **示例**: ```sql SELECT CURDATE(); ``` 输出结果:例如 `2023-01-01` #### 23. CURTIME() **功能**: 返回当前时间。 **示例**: ```sql SELECT CURTIME(); ``` 输出结果:例如 `12:34:56` #### 24. SYSDATE() **功能**: 返回当前系统日期和时间。 **示例**: ```sql SELECT SYSDATE(); ``` 输出结果:例如 `2023-01-01 12:34:56` #### 25. UNIX_TIMESTAMP() **功能**: 返回当前日期和时间对应的Unix时间戳。 **示例**: ```sql SELECT UNIX_TIMESTAMP(); ``` 输出结果:例如 `1672531496` #### 26. FROM_UNIXTIME(unix_timestamp) **功能**: 将Unix时间戳转换为日期时间格式。 **示例**: ```sql SELECT FROM_UNIXTIME(1672531496); ``` 输出结果:例如 `2023-01-01 12:34:56` #### 27. SEC_TO_TIME(seconds) **功能**: 将秒数转换为时间格式。 **示例**: ```sql SELECT SEC_TO_TIME(3600); ``` 输出结果:`01:00:00` #### 28. TIME_TO_SEC(time) **功能**: 将时间转换为秒数。 **示例**: ```sql SELECT TIME_TO_SEC('01:00:00'); ``` 输出结果:`3600` 以上列举了MySQL中常用的日期处理函数,这些函数可以帮助开发者高效地操作和管理数据库中的日期数据。通过灵活运用这些函数,可以大大提高查询效率和数据处理能力。
2.DAYOFWEEK(date)
3.WEEKDAY(date)
4.DAYOFMONTH(date)
5.DAYOFYEAR(date)
6.MONTH(date)
7.DAYNAME(date)
8.MONTHNAME(date)
9.QUARTER(date)
10.WEEK(date)
WEEK(date,first)
11.YEAR(date)
12.HOUR(time)
13.MINUTE(time)
14.SECOND(time)
15.PERIOD_ADD(P,N)
16.PERIOD_DIFF(P1,P2)
17.DATE_ADD(date,INTERVAL expr type)
DATE_SUB(date,INTERVAL expr type)
ADDDATE(date,INTERVAL expr type)
SUBDATE(date,INTERVAL expr type)
EXTRACT(type FROM date)
18.TO_DAYS(date)
19.FROM_DAYS(N)
20.DATE_FORMAT(date,format)
21.TIME_FORMAT(time,format)
22.CURDATE()
23.CURTIME()
24.SYSDATE()
25.UNIX_TIMESTAMP()
26.FROM_UNIXTIME(unix_timestamp)
FROM_UNIXTIME(unix_timestamp,format)
27.SEC_TO_TIME(seconds)
28.TIME_TO_SEC(time)
#################################################################################
1.这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql> SELECT something FROM table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
2.DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
3.WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
mysql> select WEEKDAY('1997-10-04 22:23:00');
-> 5
剩余16页未读,继续阅读
- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整
- 粉丝: 15
- 资源: 46
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python的语音识别与蓝牙通信的温控系统源代码(python毕业设计完整源码+LW).zip
- 电子学习资料设计作品全资料基于单片机控制的交通灯毕业设计资料
- 基于python的主观题自动阅卷系统源代码(python毕业设计完整源码+LW).zip
- 贴片自动送料仓储设备cero5.0全套技术资料100%好用.zip.zip
- 电子学习资料设计作品全资料基于单片机控制的开关电源资料
- 基于python的语音和背景音乐分离算法及系统源代码(python毕业设计完整源码+LW).zip
- 电子学习资料设计作品全资料基于单片机实现的俄罗斯方块游戏
- 基于python的某在线中药店销售数据统计与分析系统源代码(python毕业设计完整源码+LW).zip
- 基于python的英汉电子词典软件源代码(python毕业设计完整源码+LW).zip
- 电子学习资料设计作品全资料基于两个单片机串行通信的电子密码锁资料
- 基于python的旅游景点方面级别情感分析语料库与模型源代码(python毕业设计完整源码+LW).zip
- 基于SpringBoot+Vue开发的排课管理系统设计源码
- 电子学习资料设计作品全资料基于网络的虚拟仪器测试系统资料
- 基于华为昇腾Atlas 200DK 310B芯片的Python客流统计系统设计源码
- 基于深度学习的安全帽佩戴检测wlw源代码(python毕业设计完整源码+LW).zip
- 基于微信小程序平台的医院陪诊管理系统设计源码