sql >> Database >  >> RDS >> MariaDB

3 manieren om de dagnaam van een datum in MariaDB te krijgen

Hieronder staan ​​drie benaderingen die u kunt gebruiken om de dagnaam van een datum in MariaDB te krijgen.

Twee van deze benaderingen retourneren de volledige dagnaam en één retourneert de korte dagnaam.

De DAYNAME() Functie

De DAYNAME() functie is speciaal ontworpen voor het retourneren van de dagnaam van een datum. Geef gewoon de datum door wanneer u de functie aanroept, en het zal de volledige dagnaam teruggeven.

Voorbeeld:

SELECT DAYNAME('2021-08-19');

Resultaat:

+-----------------------+
| DAYNAME('2021-08-19') |
+-----------------------+
| Thursday              |
+-----------------------+

De taal die wordt gebruikt voor de dagnaam wordt bepaald door de waarde van de lc_time_names systeem variabele. Zie DAYNAME() voor een voorbeeld van hoe dit de uitvoer beïnvloedt.

De DATE_FORMAT() Functie

De DATE_FORMAT() functie formatteert een bepaalde datum in een gespecificeerd formaat. U geeft de datum en het formaat op wanneer u de functie aanroept.

U kunt de volledige naam van de weekdag retourneren door %W . door te geven als de opmaakreeks.

Voorbeeld:

SELECT DATE_FORMAT('2021-08-19', '%W');

Resultaat:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%W') |
+---------------------------------+
| Thursday                        |
+---------------------------------+

Net als bij DAYNAME() , wordt de taal die wordt gebruikt voor de dagnaam bepaald door de waarde van de lc_time_names systeem variabele. Echter, de DATE_FORMAT() functie accepteert een optioneel derde argument waarmee u de landinstelling kunt specificeren.

Hier is een voorbeeld van het specificeren van een landinstelling:

SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES');

Resultaat:

+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%W', 'ca_ES') |
+------------------------------------------+
| dijous                                   |
+------------------------------------------+

Korte dagnaam

Passeren %a naar de DATE_FORMAT() functie retourneert de korte naam van de weekdag.

Voorbeeld:

SELECT DATE_FORMAT('2021-08-19', '%a');

Resultaat:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%a') |
+---------------------------------+
| Thu                             |
+---------------------------------+

Dit kan worden gerepliceerd met de DAYNAME() functie met behulp van LEFT() om de eerste 3 tekens van de naam van de weekdag te pakken.

Voorbeeld:

SELECT LEFT(DAYNAME('2021-08-19'), 3);

Resultaat:

+--------------------------------+
| LEFT(DAYNAME('2021-08-19'), 3) |
+--------------------------------+
| Thu                            |
+--------------------------------+

Hetzelfde effect kan ook worden bereikt door een functie als CAST() . te gebruiken om het resultaat te converteren naar een gegevenstype met drie tekens.

Hoewel deze aanpak werkt in en_US , werkt het misschien niet altijd in andere talen. Bijvoorbeeld:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2021-08-19', '%a') AS "Short 1",
    LEFT(DAYNAME('2021-08-19'), 3) AS "Short 2",
    DAYNAME('2021-08-19') AS "Full";

Resultaat:

+---------+-----------+--------------------------+
| Short 1 | Short 2   | Full                     |
+---------+-----------+--------------------------+
| พฤ.     | พฤห       | พฤหัสบดี                   |
+---------+-----------+--------------------------+

  1. Oracle-provider voor Oledb ontbreekt in VS 2015 Shell

  2. Hoe u de eerste rij per groep kunt krijgen in PostgreSQL

  3. Schrijven naar specifieke schema's met RPostgreSQL

  4. Genereer n rijen NULL in PostgreSQL