MySQL中的WEEKDAY()函数用于查找给定日期的工作日值。如果日期为NULL,则WEEKDAY()函数将返回NULL。否则,它将返回日期的索引,即星期一为0,星期二为1,星期日为6。
用法:
WEEKDAY(date)
参数:此方法接受上面提到的和下面描述的一个参数:
- date:我们要从中提取工作日值的日期或日期时间。
返回值:它返回给定日期的工作日值。
示例1:在2020/9/27使用WEEKDAY()函数查找当前日期的星期几。
SELECT WEEKDAY(NOW()) AS WeekDay;
输出:
mysql> SELECT WEEKDAY(NOW()) AS WeekDay; +---------+ | WeekDay | +---------+ | 6 | +---------+
因此,当WEEKDAY函数返回6时,当前日期为“星期日”。
示例2:使用WEEKDAY()函数从给定的日期时间中查找工作日值。
SELECT WEEKDAY ('2017-08-22 08:09:22') AS WeekDay_Value ;
输出:
+---------------+ | WeekDay_Value | +---------------+ | 1 | +---------------+
因此,在此示例中,日期为“星期二”。
示例3:当日期为NULL时,使用WEEKDAY()函数从给定的日期时间中查找星期几的值。
SELECT WEEKDAY (NULL) AS WeekDay_Value ;
输出:
+---------------+ | WeekDay_Value | +---------------+ | NULL | +---------------+
示例4:在此示例中,我们将查找每个工作日售出的产品数量。为了演示创建一个名为的表。
产品:
CREATE TABLE Product( Product_id INT AUTO_INCREMENT, Product_name VARCHAR(100) NOT NULL, Buying_price DECIMAL(13, 2) NOT NULL, Selling_price DECIMAL(13, 2) NOT NULL, Selling_Date Date NOT NULL, PRIMARY KEY(Product_id) );
现在将一些数据插入到Product表中:
INSERT INTO Product(Product_name, Buying_price, Selling_price, Selling_Date) VALUES ('Audi Q8', 10000000.00, 15000000.00, '2020-08-26' ), ('Volvo XC40', 2000000.00, 3000000.00, '2020-08-27' ), ('Audi A6', 4000000.00, 5000000.00, '2020-08-28' ), ('BMW X5', 5000500.00, 7006500.00, '2020-09-01' ), ('Jaguar XF', 5000000, 7507000.00, '2020-09-04' ), ('Mercedes-Benz C-Class', 4000000.00, 6000000.00, '2020-09-05' ), ('Jaguar F-PACE', 5000000.00, 7000000.00, '2020-09-08' ), ('Volvo S90', 4500000.00, 6000000.00, '2020-09-11' ), ('BMW X4', 4000000.00, 6200000.00, '2020-09-12' ), ('Porsche Macan', 6500000.00, 8000000.00, '2020-09-16' ) ;
因此,产品表为:
mysql> Select * from Product; +------------+-----------------------+--------------+---------------+--------------+ | Product_id | Product_name | Buying_price | Selling_price | Selling_Date | +------------+-----------------------+--------------+---------------+--------------+ | 1 | Audi Q8 | 10000000.00 | 15000000.00 | 2020-08-26 | | 2 | Volvo XC40 | 2000000.00 | 3000000.00 | 2020-08-27 | | 3 | Audi A6 | 4000000.00 | 5000000.00 | 2020-08-28 | | 4 | BMW X5 | 5000500.00 | 7006500.00 | 2020-09-01 | | 5 | Jaguar XF | 5000000.00 | 7507000.00 | 2020-09-04 | | 6 | Mercedes-Benz C-Class | 4000000.00 | 6000000.00 | 2020-09-05 | | 7 | Jaguar F-PACE | 5000000.00 | 7000000.00 | 2020-09-08 | | 8 | Volvo S90 | 4500000.00 | 6000000.00 | 2020-09-11 | | 9 | BMW X4 | 4000000.00 | 6200000.00 | 2020-09-12 | | 10 | Porsche Macan | 6500000.00 | 8000000.00 | 2020-09-16 | +------------+-----------------------+--------------+---------------+--------------+
现在,我们将查找每个工作日售出的产品数量。
SELECT WEEKDAY (Selling_Date) WeekDay, COUNT(Product_id) Product_Sold FROM Product GROUP BY WEEKDAY(Selling_Date) ORDER BY WEEKDAY(Selling_Date);
输出:
+---------+--------------+ | WeekDay | Product_Sold | +---------+--------------+ | 1 | 2 | | 2 | 2 | | 3 | 1 | | 4 | 3 | | 5 | 2 | +---------+--------------+
相关用法
- MS Access Weekday()、WeekdayName()用法及代码示例
- 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( )用法及代码示例
注:本文由纯净天空筛选整理自jana_sayantan大神的英文原创作品 WEEKDAY() Function in MySQL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。