WEEKDAY () в MySQL
Функция WEEKDAY () в MySQL используется для нахождения значения дня недели для заданной даты. Если дата имеет значение NULL, функция WEEKDAY () вернет NULL. В противном случае он возвращает индекс для даты, т. Е. 0 для понедельника, 1 для вторника,… 6 для воскресенья.
Синтаксис:
WEEKDAY (дата)
Параметр: этот метод принимает один параметр, как указано выше и описано ниже:
- date: дата или datetime, из которых мы хотим извлечь значение дня недели.
Returns: возвращает значение дня недели для заданной даты.
Пример-1: Определение значения дня недели для текущей даты с помощью функции WEEKDAY () 27.09.2020.
ВЫБРАТЬ ДЕНЬ НЕДЕЛИ (СЕЙЧАС ()) КАК WeekDay;
Выход :
mysql> ВЫБРАТЬ ДЕНЬ НЕДЕЛИ (СЕЙЧАС ()) КАК WeekDay; + --------- + | WeekDay | + --------- + | 6 | + --------- +
Итак, текущий день - воскресенье, поскольку функция WEEKDAY возвращает 6.
Пример-2: Нахождение значения дня недели из заданного datetime с помощью функции WEEKDAY ().
ВЫБЕРИТЕ WEEKDAY ('2017-08-22 08:09:22') как WeekDay_Value;
Выход :
+ --------------- + | WeekDay_Value | + --------------- + | 1 | + --------------- +
Итак, в этом примере день - «вторник».
Пример-3: Нахождение значения дня недели из заданного datetime с помощью функции WEEKDAY (), когда дата имеет значение NULL.
ВЫБЕРИТЕ WEEKDAY (NULL) как WeekDay_Value;
Выход :
+ --------------- + | WeekDay_Value | + --------------- + | NULL | + --------------- +
Пример-4: В этом примере мы собираемся найти количество продуктов, проданных за каждый будний день. Чтобы продемонстрировать создание таблицы с именем.
Продукт :
СОЗДАТЬ ТАБЛИЦУ Продукт ( 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, ПЕРВИЧНЫЙ КЛЮЧ (Product_id) );
Теперь вставляем некоторые данные в таблицу Product:
ВСТАВИТЬ В Продукт (название_продукта, цена_продажи, цена_продажи, дата_продажи) ЗНАЧЕНИЯ ('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»);
Итак, таблица Product:
mysql> Выбрать * из продукта; + ------------ + ----------------------- + ------------ - + --------------- + -------------- + | 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 | + ------------ + ----------------------- + ------------ - + --------------- + -------------- +
Теперь мы собираемся найти количество продуктов, проданных за каждый будний день.
ВЫБРАТЬ WEEKDAY (Selling_Date) WeekDay, COUNT (Product_id) Product_Sold ИЗ Продукт ГРУППА ПО ДНЯМ НЕДЕЛИ (Дата_продажи) ЗАКАЗАТЬ ПО ДНЯМ НЕДЕЛИ (Дата_продажи);
Выход :
+ --------- + -------------- + | WeekDay | Товар_Проданный | + --------- + -------------- + | 1 | 2 | | 2 | 2 | | 3 | 1 | | 4 | 3 | | 5 | 2 | + --------- + -------------- +