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


MySQL WEEKDAY()用法及代碼示例


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 |
+---------+--------------+

相關用法


注:本文由純淨天空篩選整理自jana_sayantan大神的英文原創作品 WEEKDAY() Function in MySQL。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。