MySQL
Hàm WEEKDAY() trong MySQL
10/01/2024
Hàm WEEKDAY() trong MySQL được sử dụng để tìm giá trị ngày trong tuần cho một ngày cụ thể. Nếu ngày là NULL thì hàm WEEKDAY() sẽ trả về NULL. Ngược lại, nó trả về chỉ mục cho một ngày, tức là 0 cho Thứ Hai, 1 cho Thứ Ba,... 6 cho Chủ Nhật.
Cú pháp:
WEEKDAY(date)
Trong đó:
- date : Ngày hoặc giờ mà chúng ta muốn trích xuất giá trị ngày trong tuần.
Kết quả chúng ta sẽ nhận được giá trị ngày trong tuần cho một ngày nhất định.
Ví dụ:
Ví dụ 1: Tìm giá trị của ngày trong tuần của ngày hiện tại bằng cách sử dụng hàm WEEKDAY() vào ngày hiện tại.
SELECT WEEKDAY(NOW()) AS WeekDay;
Kết quả:
+---------------+
| WeekDay_Value |
+---------------+
| 6 |
+---------------+
Vậy là ngày hiện tại là 'Chủ Nhật', vì hàm WEEKDAY trả về giá trị 6. (Các bạn chú ý, do khác thời điểm nên kết quả ngày trong tuần của các bạn có thể sẽ khác)
Ví dụ 2: Tìm giá trị của ngày trong tuần từ một thời điểm đã cho bằng cách sử dụng hàm WEEKDAY().
SELECT WEEKDAY ('2017-08-22 08:09:22') AS WeekDay_Value ;
Kết quả:
+---------------+
| WeekDay_Value |
+---------------+
| 1 |
+---------------+
Vậy kết quả là ngày 'Thứ Ba' trong ví dụ này.
Ví dụ 3: Tìm giá trị của ngày trong tuần từ thời điểm đã cho bằng cách sử dụng hàm WEEKDAY(), khi ngày là NULL.
SELECT WEEKDAY (NULL) AS WeekDay_Value ;
Kết quả:
+---------------+
| WeekDay_Value |
+---------------+
| NULL |
+---------------+
Ví dụ 4: Trong ví dụ này, chúng ta sẽ tìm số lượng sản phẩm được bán cho mỗi ngày trong tuần. Để minh họa, chúng ta sẽ tạo một bảng có tên là Product
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)
);
Bây giờ chúng ta sẽ chèn một số dữ liệu vào bảng 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' ) ;
Như vậy dữ liệu bảng Product là:
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 |
+------------+-----------------------+--------------+---------------+--------------+
Và bây giờ, chúng ta sẽ tìm số lượng sản phẩm được bán cho mỗi ngày trong tuần.
SELECT
WEEKDAY (Selling_Date) WeekDay,
COUNT(Product_id) Product_Sold
FROM
Product
GROUP BY WEEKDAY(Selling_Date)
ORDER BY WEEKDAY(Selling_Date);
Kết quả:
+---------+--------------+
| WeekDay | Product_Sold |
+---------+--------------+
| 1 | 2 |
| 2 | 2 |
| 3 | 1 |
| 4 | 3 |
| 5 | 2 |
+---------+--------------+
Bài viết liên quan
09:36 . 14/01/2024
22:38 . 30/12/2023
22:33 . 30/12/2023
22:30 . 30/12/2023
22:10 . 30/12/2023
22:03 . 30/12/2023
09:01 . 30/12/2023
08:52 . 30/12/2023
09:56 . 29/12/2023