sql >> Database >  >> RDS >> MariaDB

Hoe DAYNAME() werkt in MariaDB

In MariaDB, DAYNAME() is een ingebouwde datum- en tijdfunctie die de naam van de weekdag voor een bepaalde datum retourneert.

Het accepteert één argument, namelijk de datum waaruit je de dagnaam wilt halen.

Syntaxis

De syntaxis gaat als volgt:

DAYNAME(date)

Waar date is de datum om de dagnaam van te krijgen.

Voorbeeld

Hier is een voorbeeld:

SELECT DAYNAME('2045-10-17');

Resultaat:

+-----------------------+
| DAYNAME('2045-10-17') |
+-----------------------+
| Tuesday               |
+-----------------------+

Taal

De taal die wordt gebruikt voor de dagnaam wordt bepaald door de waarde van de lc_time_names systeem variabele.

Hier is een voorbeeld dat laat zien hoe dit het resultaat beïnvloedt:

SET lc_time_names = 'de_DE';
SELECT DAYNAME('2045-10-17');

Resultaat:

+-----------------------+
| DAYNAME('2045-10-17') |
+-----------------------+
| Dienstag              |
+-----------------------+

En terugschakelen naar en_US , wat de standaard is:

SET lc_time_names = 'en_US';
SELECT DAYNAME('2045-10-17');

Resultaat:

+-----------------------+
| DAYNAME('2045-10-17') |
+-----------------------+
| Tuesday               |
+-----------------------+

Hier is een lijst met landinstellingen die door MariaDB worden ondersteund, en hier leest u hoe u uw eigen lijst met beschikbare landinstellingen kunt retourneren.

Nu we toch bezig zijn, hier is een bericht waarin wordt uitgelegd hoe u de waarde van uw lc_time_names kunt controleren systeemvariabele.

Datum/tijd-waarden

Het werkt ook met datetime-waarden:

SELECT DAYNAME('2030-01-25 10:30:45');

Resultaat:

+--------------------------------+
| DAYNAME('2030-01-25 10:30:45') |
+--------------------------------+
| Friday                         |
+--------------------------------+

Nul dagen

Een nuldag in de datum retourneert null :

SELECT DAYNAME('2030-00-00');

Resultaat:

+-----------------------+
| DAYNAME('2030-00-00') |
+-----------------------+
| NULL                  |
+-----------------------+

Numerieke datums

Het is ook mogelijk om datums als een getal door te geven, zolang het maar logisch is als een datum.

Voorbeeld

SELECT DAYNAME(20201108);

Resultaat:

+-------------------+
| DAYNAME(20201108) |
+-------------------+
| Sunday            |
+-------------------+

Jaartallen van twee cijfers zijn prima:

SELECT DAYNAME(201108);

Resultaat:

+-----------------+
| DAYNAME(201108) |
+-----------------+
| Sunday          |
+-----------------+

Maar het moet logisch zijn als een date. Dit gebeurt er als ik het maandgedeelte verhoog naar een ongeldige maand:

SELECT DAYNAME(209908);

Resultaat:

+-----------------+
| DAYNAME(209908) |
+-----------------+
| NULL            |
+-----------------+

Andere scheidingstekens

U kunt andere scheidingstekens voor de datum gebruiken. MariaDB is behoorlijk vergevingsgezind als het gaat om scheidingstekens op datums. Hier zijn enkele geldige voorbeelden:

SELECT 
    DAYNAME('2027/08/19'),
    DAYNAME('2027,08,19'),
    DAYNAME('2027:08:19'),
    DAYNAME('2027;08!19');

Resultaat (met verticale uitvoer):

DAYNAME('2027/08/19'): Thursday
DAYNAME('2027,08,19'): Thursday
DAYNAME('2027:08:19'): Thursday
DAYNAME('2027;08!19'): Thursday

Huidige datum

We kunnen NOW() doorgeven als het datumargument om de huidige datum te gebruiken:

SELECT 
    NOW(),
    DAYNAME(NOW());

Resultaat:

+---------------------+----------------+
| NOW()               | DAYNAME(NOW()) |
+---------------------+----------------+
| 2021-05-13 13:29:10 | Thursday       |
+---------------------+----------------+

Ongeldige argumenten

Wanneer een ongeldig argument wordt doorgegeven, DAYNAME() retourneert null :

SELECT DAYNAME('Dang!');

Resultaat:

+------------------+
| DAYNAME('Dang!') |
+------------------+
| NULL             |
+------------------+

Ontbrekend argument

Bellen DAYNAME() met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:

SELECT DAYNAME();

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'

En nog een voorbeeld:

SELECT DAYNAME('2030-01-25', '2045-05-08');

Resultaat:

ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'

  1. Loop over array-dimensie in plpgsql

  2. Hoe om te gaan met een optionele waarde die wordt geretourneerd door een query met behulp van de postgre-krat?

  3. Leer documenten op het Windows-bestandssysteem op te slaan en te analyseren met SQL Server Semantic Search - Deel 1

  4. Probleem met tijdelijke RODBC-tabel bij verbinding met MS SQL Server