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 | +---------+-----------+--------------------------+ | พฤ. | พฤห | พฤหัสบดี | +---------+-----------+--------------------------+