sql >> Database teknologi >  >> RDS >> MariaDB

Sådan fungerer DAYNAME() i MariaDB

I MariaDB, DAYNAME() er en indbygget dato- og tidsfunktion, der returnerer navnet på ugedagen for en given dato.

Den accepterer ét argument, som er den dato, du vil udtrække dagens navn fra.

Syntaks

Syntaksen ser sådan ud:

DAYNAME(date) 

Hvor date er datoen for at få dagens navn fra.

Eksempel

Her er et eksempel:

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

Resultat:

+------------------------------+| DAGNAVN('2045-10-17') |+----------------------------+| Tirsdag |+------------------------------+

Sprog

Sproget, der bruges til dagsnavnet, styres af værdien af ​​lc_time_names systemvariabel.

Her er et eksempel, der viser, hvordan dette påvirker resultatet:

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

Resultat:

+------------------------------+| DAGNAVN('2045-10-17') |+----------------------------+| tirsdag |+------------------------------+

Og skifter tilbage til en_US , som er standard:

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

Resultat:

+------------------------------+| DAGNAVN('2045-10-17') |+----------------------------+| Tirsdag |+------------------------------+

Her er en liste over lokaliteter, der understøttes af MariaDB, og her er, hvordan du returnerer din egen liste over tilgængelige lokaliteter.

Mens vi er i gang, er her et indlæg, der forklarer, hvordan du kontrollerer værdien af ​​dine lc_time_names systemvariabel.

Dato-tidsværdier

Det fungerer også med datetime-værdier:

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

Resultat:

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

Nul dage

At have en dag nul i datoen returnerer null :

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

Resultat:

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

Numeriske datoer

Det er også muligt at videregive datoer som et tal, så længe det giver mening som en dato.

Eksempel

SELECT DAYNAME(20201108); 

Resultat:

+------------------------+| DAGNAVN(20201108) |+------------------------+| Søndag |+--------------------+

Tocifrede årstal er fint:

SELECT DAYNAME(201108); 

Resultat:

+----------------+| DAGNAVN(201108) |+-----------------+| Søndag |+-----------------+

Men det skal give mening som en date. Her er, hvad der sker, hvis jeg øger månedsdelen til en ugyldig måned:

SELECT DAYNAME(209908); 

Resultat:

+----------------+| DAGNAVN(209908) |+-----------------+| NULL |+-----------------+

Andre afgrænsninger

Du kan bruge andre skilletegn for datoen. MariaDB er ret tilgivende, når det kommer til afgrænsninger på datoer. Her er nogle gyldige eksempler:

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

Resultat (ved hjælp af lodret output):

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

Aktuel dato

Vi kan sende NOW() som dato-argument for at bruge den aktuelle dato:

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

Resultat:

+---------------------+----------------+| NU() | DAGNAVN(NU()) |+---------------------+----------------+| 13-05-2021 13:29:10 | Torsdag |+---------------------+----------------+

Ugyldige argumenter

Når et ugyldigt argument blev sendt, DAYNAME() returnerer null :

SELECT DAYNAME('Dang!'); 

Resultat:

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

Manglende argument

Kalder DAYNAME() med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:

SELECT DAYNAME(); 

Resultat:

FEJL 1582 (42000):Forkert parameterantal i kaldet til den oprindelige funktion 'DAYNAME'

Og endnu et eksempel:

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

Resultat:

FEJL 1582 (42000):Forkert parameterantal i kaldet til den oprindelige funktion 'DAYNAME'

  1. Er der nogen ulemper ved altid at bruge nvarchar(MAX)?

  2. Pandaer:Sådan læser og skriver filer

  3. Anbefalet måde/ordre at læse data fra en webservice, parse disse data og indsætte dem i en SQLite db

  4. Sådan ændres automatisk stigningsværdi af MySQL / MariaDB-database