當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。