sql >> Database >  >> RDS >> Mysql

DAYOFWEEK() Voorbeelden – MySQL

U kunt de DAYOFWEEK() . gebruiken functie in MySQL om de dag van de week van een datum te retourneren.

In deze context is een retourwaarde van 1 komt overeen met zondag, 2 komt overeen met maandag, enz.

Dit artikel bevat voorbeelden om te demonstreren.

Syntaxis

De syntaxis gaat als volgt:

DAYOFWEEK(date)

Waar date is de datumwaarde waarvan u de dag van de week wilt retourneren.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

SELECT DAYOFWEEK('2019-01-01') AS 'Result';

Resultaat:

+--------+
| Result |
+--------+
|      3 |
+--------+

We kunnen dit uitvoeren naast de DAYNAME() functie om te zien met welke dag het overeenkomt:

SET @date = '2019-01-01';
SELECT 
    @date,
    DAYNAME(@date) AS 'Day Name',
    DAYOFWEEK(@date) AS 'Day of Week';

Resultaat:

+------------+----------+-------------+
| @date      | Day Name | Day of Week |
+------------+----------+-------------+
| 2019-01-01 | Tuesday  |           3 |
+------------+----------+-------------+

DAYOFWEEK() vs DAYOFMONTH()

Hier is een voorbeeld om het verschil te demonstreren tussen de DAYOFWEEK() en DAYOFMONTH() functies.

SET @date = '2019-01-20';
SELECT 
    @date,
    DAYNAME(@date) AS 'Day Name',
    DAYOFWEEK(@date) AS 'Day of Week',
    DAYOFMONTH(@date) AS 'Day of Month';

Resultaat:

+------------+----------+-------------+--------------+
| @date      | Day Name | Day of Week | Day of Month |
+------------+----------+-------------+--------------+
| 2019-01-20 | Sunday   |           1 |           20 |
+------------+----------+-------------+--------------+

De DAYOFMONTH() functie retourneert een waarde tussen 1 en 31 (of 0 voor datums met een dagdeel van nul) dat de dag van de maand vertegenwoordigt. Het wordt teruggezet naar 1 aan het begin van elke maand.

De DAYOFWEEK() functie aan de andere kant, retourneert een waarde tussen 1 en 7 . Het wordt teruggezet naar 1 aan het begin van elke week.

Een databasevoorbeeld

Hier doen we hetzelfde als in de vorige voorbeelden, behalve dat dit voorbeeld gegevens uit een database gebruikt:

USE sakila;
SELECT
  payment_date AS 'Date/Time',
  DAYNAME(payment_date) AS 'Day Name',
  DAYOFWEEK(payment_date) AS 'Day of Week'
FROM payment
WHERE payment_id = 1;

Resultaat:

+---------------------+-----------+-------------+
| Date/Time           | Day Name  | Day of Week |
+---------------------+-----------+-------------+
| 2005-05-25 11:30:37 | Wednesday |           4 |
+---------------------+-----------+-------------+

Huidige datum/tijd

Hier is een voorbeeld van het extraheren van het daggedeelte van de huidige datum en tijd (die wordt geretourneerd met de NOW() functie).

SELECT 
    NOW(),
    DAYOFWEEK(NOW());

Resultaat:

+---------------------+------------------+
| NOW()               | DAYOFWEEK(NOW()) |
+---------------------+------------------+
| 2018-06-26 07:42:31 |                3 |
+---------------------+------------------+

Een andere manier om dit te doen is door de CURDATE() . te gebruiken functie, die alleen de datum retourneert (maar niet de tijd).

SELECT 
    CURDATE(),
    DAYOFWEEK(CURDATE());   

Resultaat:

+------------+----------------------+
| CURDATE()  | DAYOFWEEK(CURDATE()) |
+------------+----------------------+
| 2018-06-26 |                    3 |
+------------+----------------------+


  1. MySQL 8 instellen vanuit Binary Tarball

  2. Oracle-query sequentiële sommatie per rijen

  3. De rijgroottes van Postgres begrijpen

  4. Beheer van gegevensbeveiliging