mysql 本周函数_MySQL week()函数

在本教程中,您将学习如何使用MySQL WEEK函数来获取日期的周数。

MySQL WEEK函数介绍

通常,一年的正常年份为365天,闰年为366天。一年又可以分为许多周,每周有7天。 所以一年,我们经常有365/7 = 52周,周范围是从1到52。

要查看给定日期属于哪个周数,您可以使用WEEK函数,如下所示:

WEEK(date, mode);

WEEK函数接受两个参数:

date是要获取周数的日期。

mode是一个可选参数,用于确定周数计算的逻辑。它允许您指定本周是从星期一还是星期日开始,返回的周数应在0到52之间或0到53之间。

如果忽略mode参数,默认情况下WEEK函数将使用default_week_format系统变量的值。

要获取default_week_format变量的当前值,请使用SHOW VARIABLES语句如下:

mysql> SHOW VARIABLES LIKE 'default_week_format';

+---------------------+-------+

| Variable_name | Value |

+---------------------+-------+

| default_week_format | 0 |

+---------------------+-------+

1 row in set

在我们的服务器中,default_week_format的默认值为0,下表格说明了mode参数如何影响WEEK函数:

模式

一周的第一天

范围

0

星期日

0-53

1

星期一

0-53

2

星期日

1-53

3

星期一

1-53

4

星期日

0-53

5

星期一

0-53

6

星期日

1-53

7

星期一

1-53

上表中“今年有4天以上”表示:

如果星期包含1月1日,并且在新的一年中有4天或更多天,那么这周是第1周。

否则,这一周的数字是前一年的最后一周,下周是第1周。

WEEK函数返回一个周数,遵循ISO 8601:1988

MySQL WEEK功能示例

请参阅示例数据库(yiibai)中的orders表,如下所示 -

以下声明使用WEEK函数返回2013年每周的订单数量:

use yiibaidb;SELECT

WEEK(orderDate) week_no,

COUNT(*)

FROM

orders

WHERE

YEAR(orderDate) = 2013

GROUP BY WEEK(orderDate);

Database changed

执行上面查询语句,得到以下结果 -

+---------+----------+

| week_no | COUNT(*) |

+---------+----------+

| 1 | 3 |

| 4 | 2 |

| 6 | 1 |

| 7 | 1 |

| 8 | 1 |

| 9 | 1 |

| 10 | 1 |

| 11 | 1 |

| 12 | 3 |

| 13 | 2 |

| 14 | 1 |

| 15 | 1 |

| 16 | 1 |

| 17 | 2 |

| 18 | 2 |

| 20 | 3 |

| 21 | 1 |

| 22 | 2 |

| 23 | 1 |

| 24 | 2 |

| 25 | 2 |

| 26 | 3 |

| 27 | 2 |

| 28 | 1 |

| 29 | 1 |

| 30 | 1 |

| 31 | 2 |

| 32 | 1 |

| 34 | 1 |

| 35 | 2 |

| 36 | 2 |

| 37 | 2 |

| 38 | 2 |

| 39 | 3 |

| 40 | 7 |

| 41 | 2 |

| 42 | 5 |

| 43 | 1 |

| 44 | 10 |

| 45 | 9 |

| 46 | 6 |

| 47 | 5 |

| 48 | 8 |

| 49 | 1 |

+---------+----------+

44 rows in set

在本教程中,您已经学会了如何使用MySQL WEEK函数从指定的日期获取周数。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值