MySQL中的WEEK()函數用於查找給定日期的星期數。如果日期為NULL,則WEEK()函數將返回NULL。否則,它返回week的值,範圍在0到53之間。
用法:
WEEK(date, mode)
參數:此方法接受語法中上麵提到的two-parameters,如下所述-
- date -
我們要從中提取周的日期或日期時間。 - mode -
它指定一周中的哪一天開始。下表描述了mode參數的工作方式。
返回值:它返回星期數的值。
MODE | 一周的第一天 | RANGE | 第一周是第一周…… |
---|---|---|---|
0 | Sunday | 0-53 | 今年的一個星期天 |
1 | Monday | 0-53 | 今年有四天或以上 |
2 | Sunday | 1-53 | 今年的一個星期天 |
3 | Monday | 1-53 | 今年有四天或以上 |
4 | Sunday | 0-53 | 今年有四天或以上 |
5 | Monday | 0-53 | 在今年的一個星期一 |
6 | Sunday | 1-53 | 今年有四天或以上 |
7 | Monday | 1-53 | 在今年的一個星期一 |
示例1:
在15/10/2020使用WEEK()函數查找當前星期數。
SELECT WEEK(NOW()) AS Current_Week;
輸出:
Current_Week |
---|
41 |
因此,當前星期數是41。
示例2:
使用WEEK()函數從給定的日期時間查找星期。
SELECT WEEK('2010-05-20 08:09:22') AS Week;
輸出:
周 |
---|
20 |
因此,在此示例中,周數為20。
示例3:
當日期為NULL時,使用WEEK()函數從給定的日期時間查找星期。
SELECT WEEK(NULL) AS Week;
輸出:
周 |
---|
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-1-26'), ('CS101', 161029, 'Arun Kumar', '2019-5-30'), ('CS101', 161031, 'Sanya Jain', '2019-6-08'), ('CS101', 161058, 'Riya Shah', '2019-10-15'), ('CS101', 162051, 'Amit Sharma', '2019-10-18'), ('CS101', 161951, 'Sayan Singh', '2019-10-30'), ('CS101', 167051, 'Rishi Jana', '2019-11-02'), ('CS101', 168001, 'Aniket Dravid', '2019-11-10'), ('CS101', 168051, 'Rita Singh', '2019-11-13'), ('CS101', 166051, 'Kalyan Ghandi', '2019-12-26');
表-課程
COURSE_NAME | STUDENT_ID | STUDENT_NAME | ENROLL_DATE |
---|---|---|---|
CS101 | 161011 | 阿米特·辛格 | 2019-1-26 |
CS101 | 161029 | 阿倫·庫瑪(Arun Kumar) | 2019-5-30 |
CS101 | 161031 | 三亞Ja那教 | 2019-6-08 |
CS101 | 161058 | 裏亞沙(Riya Shah) | 2019-10-15 |
CS101 | 162051 | 阿米特·沙瑪(Amit Sharma) | 2019-10-18 |
CS101 | 161951 | 薩揚·辛格(Sayan Singh) | 2019-10-30 |
CS101 | 167051 | Rishi Jana | 2019-11-02 |
CS101 | 168001 | 阿妮克特·德拉維德(Aniket Dravid) | 2019-11-10 |
CS101 | 168051 | 麗塔·辛格(Rita Singh) | 2019-11-13 |
CS101 | 166051 | 卡利安·甘地(Kalyan Ghandi) | 2019-12-26 |
現在,我們將查找每周參加該課程的學生人數。
SELECT WEEK(Enroll_Date) WeekNumber, COUNT(Student_id) Student_Enrolled FROM Course GROUP BY WEEK(Enroll_Date) ORDER BY WEEK(Enroll_Date);
輸出:
WEEKNUMBER | STUDENT_ENROLLED |
---|---|
3 | 1 |
21 | 1 |
22 | 1 |
41 | 2 |
43 | 2 |
45 | 2 |
51 | 1 |
相關用法
- MySQL LEAD() and LAG()用法及代碼示例
- MySQL BIN()用法及代碼示例
- MySQL LAST_DAY()用法及代碼示例
- MySQL WEEKOFYEAR()用法及代碼示例
- MySQL MOD()用法及代碼示例
- MySQL Group_CONCAT()用法及代碼示例
- MySQL DEFAULT()用法及代碼示例
- MySQL AES_ENCRYPT()用法及代碼示例
- MySQL AES_DECRYPT()用法及代碼示例
- MySQL MD5用法及代碼示例
- MySQL COMPRESS( )用法及代碼示例
- MySQL PASSWORD用法及代碼示例
- MySQL OLD_PASSWORD用法及代碼示例
- MySQL DES_DECRYPT()用法及代碼示例
- MySQL DES_ENCRYPT()用法及代碼示例
- MySQL DECODE( )用法及代碼示例
- MySQL ENCODE( )用法及代碼示例
- MySQL SHA1( )用法及代碼示例
注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 WEEK() Function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。