当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL WEEKOFYEAR()用法及代码示例


MySQL中的WEEKOFYEAR()函数用于查找给定日期的星期数。如果日期为NULL,则WEEKOFYEAR函数将返回NULL。否则,它将返回Week的值,范围在1到53之间。

用法:

WEEKOFYEAR( date)

参数:
此方法仅接受一个参数。

  • date -我们要从中提取周数的日期或日期时间。

返回值:
它返回星期数。

示例1:
在29/09/2020使用WEEKOFYEAR()函数查找当前星期数。



SELECT WEEKOFYEAR(NOW()) AS Current_Week;

输出:

Current_Week
40

因此,当前星期数是40。

示例2:
使用WEEKOFYEAR()函数从给定的DateTime中查找星期。

SELECT WEEKOFYEAR('2018-04-22 08:09:22') 
AS Week_Number ;

输出:

Week_Number
16

因此,在此示例中,周数为16。

示例3:
使用WEEKOFYEAR()函数从给定日期查找星期。

SELECT WEEKOFYEAR('2019-07-25 ') 
AS Week_Number ;

输出:

Week_Number
30

示例4:
当日期为NULL时,使用WEEKOFYEAR()函数从给定的日期时间查找星期数。

SELECT WEEKOFYEAR(NULL) 
AS Week_Number;

输出:

Week_Number
NULL

示例4:
在此示例中,我们将查找一年中每周上一门课程的学生人数。为了演示,创建一个名为.Course的表。

CREATE TABLE  Course
(
    Course_name  VARCHAR(100) NOT NULL,
    Student_id INT NOT NULL,  
    Student_name VARCHAR(100) NOT NULL,
    Enroll_Date Date NOT NULL,
    PRIMARY KEY(Student_id)
);

现在将一些数据插入“课程”表中。

INSERT INTO
Course(Course_Name, Student_id, Student_name, Enroll_Date)
VALUES
    ( 'CS101', 161011, 'Amit Singh', '2019-10-06' ),
    ( 'CS101', 161029, 'Arun Kumar', '2019-10-23' ),
    ( 'CS101', 161031, 'Sanya Jain', '2019-11-08' ),
    ( 'CS101', 161058, 'Riya Shah', '2019-11-20' ),
    ( 'CS101', 162051, 'Amit Sharma', '2019-11-30' ),
    ( 'CS101', 161951, 'Sayan Singh', '2019-12-07' ),
    ( 'CS101', 167051, 'Rishi Jana', '2019-12-15' ),
    ( 'CS101', 168001, 'Aniket Dravid', '2019-12-25' ),
    ( 'CS101', 168051, 'Rita Singh', '2019-12-28' ),
    ( 'CS101', 166051, 'Kalyan Ghandi', '2019-12-29' ) ;

因此,我们的表看起来像。

Course_Name 学生卡 Student_name Enroll_Date
CS101 161011 阿米特·辛格 2019-10-06
CS101 161029 阿伦·库玛(Arun Kumar) 2019-10-23
CS101 161031 三亚Ja那教 2019-11-08
CS101 161058 里亚沙(Riya Shah) 2019-11-20
CS101 162051 阿米特·沙玛(Amit Sharma) 2019-11-30
CS101 161951 萨扬·辛格(Sayan Singh) 2019-12-07
CS101 167051 Rishi Jana 2019-12-15
CS101 168001 阿妮克特·德拉维德(Aniket Dravid) 2019-12-25
CS101 168051 丽塔·辛格(Rita Singh) 2019-12-28
CS101 166051 卡利安·甘地(Kalyan Ghandi) 2019-12-39

现在,我们将查找每周参加该课程的学生人数。

SELECT
WEEKOFYEAR(Enroll_Date) Week_Number,
COUNT(Student_id) Student_Enrolled
FROM
    Course
    GROUP BY WEEKOFYEAR(Enroll_Date)
    ORDER BY WEEKOFYEAR(Enroll_Date);

输出:

Week_Number Student_Enrolled
40 1
43 1
45 1
47 1
48 1
49 1
50 1
52 3

相关用法


注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 WEEKOFYEAR() Function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。