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 |
相关用法
- MySQL LEAD() and LAG()用法及代码示例
- MySQL BIN()用法及代码示例
- MySQL LAST_DAY()用法及代码示例
- 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( )用法及代码示例
- MySQL UNCOMPRESSED_LENGTH( )用法及代码示例
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 WEEKOFYEAR() Function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。