Función DÍA DE LA SEMANA() en MySQL – Part 1

La función WEEKDAY() en MySQL se usa para encontrar el valor del día de la semana para una fecha determinada. Si la fecha es NULL, la función WEEKDAY() devolverá NULL. De lo contrario, devuelve el índice de una fecha, es decir, 0 para el lunes, 1 para el martes, … 6 para el domingo.

Sintaxis:

WEEKDAY(date)

Parámetro: este método acepta un parámetro como se mencionó anteriormente y se describe a continuación:

  • fecha: La fecha o fecha y hora de la que queremos extraer el valor del día de la semana.

Devoluciones: Devuelve el valor del día de la semana para una fecha determinada.

Ejemplo-1: encontrar el valor del día de la semana de la fecha actual usando la función WEEKDAY() el 27/09/2020.

SELECT WEEKDAY(NOW()) AS  WeekDay;

Producción :

mysql> SELECT WEEKDAY(NOW()) AS WeekDay;
+---------+
| WeekDay |
+---------+
|       6 |
+---------+

Entonces, el día actual es ‘Domingo’ ya que la función WEEKDAY devuelve 6.

Ejemplo-2: encontrar el valor del día de la semana a partir de una fecha y hora dada usando la función WEEKDAY().

SELECT WEEKDAY ('2017-08-22 08:09:22') AS WeekDay_Value ;

Producción :

+---------------+
| WeekDay_Value |
+---------------+
|             1 |
+---------------+

Entonces, el día es ‘martes’ en este ejemplo.

Ejemplo-3: encontrar el valor del día de la semana a partir de una fecha y hora determinada utilizando la función WEEKDAY() cuando la fecha es NULL.

SELECT WEEKDAY (NULL) AS WeekDay_Value ;

Producción :

+---------------+
| WeekDay_Value |
+---------------+
|          NULL |
+---------------+

Ejemplo-4: En este ejemplo vamos a encontrar el número de productos vendidos para cada día de la semana. Para demostrar, cree una tabla llamada.

Producto :

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)
);

Ahora insertando algunos datos en la tabla Producto:

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' ) ;

Entonces, la tabla de productos es:

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

Ahora, vamos a encontrar el número de productos vendidos para cada día de la semana.

SELECT 
    WEEKDAY (Selling_Date) WeekDay, 
    COUNT(Product_id) Product_Sold
FROM 
    Product
GROUP BY WEEKDAY(Selling_Date)
ORDER BY WEEKDAY(Selling_Date);

Producción :

+---------+--------------+
| WeekDay | Product_Sold |
+---------+--------------+
|       1 |            2 |
|       2 |            2 |
|       3 |            1 |
|       4 |            3 |
|       5 |            2 |
+---------+--------------+

Publicación traducida automáticamente

Artículo escrito por jana_sayantan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *