sql >> Database teknologi >  >> RDS >> Mysql

2 funktioner, der returnerer månedens navn fra en dato i MySQL

De følgende to funktioner gør det muligt for os at få månedsnavnet fra en dato i MySQL.

MONTHNAME() Funktion

MONTHNAME() funktion er designet specifikt til at returnere månedens navn fra en dato. For at gøre dette skal du videregive datoen til funktionen, når du kalder den. Det fulde månedsnavn returneres.

Eksempel:

SELECT MONTHNAME('2030-10-25');

Resultat:

October

Sproget, der bruges til månedsnavnet, styres af værdien af lc_time_names systemvariabel. Se MONTHNAME() Eksempler på et eksempel på, hvordan dette påvirker outputtet. Se også Sådan indstilles lokaliteten for den aktuelle forbindelse i MySQL for at få flere oplysninger.

DATE_FORMAT() Funktion

DATE_FORMAT() funktion returnerer en given dato i et specificeret format. For at bruge denne funktion skal du angive datoen og det ønskede format, når du kalder funktionen.

Du kan returnere hele månedens navn ved at sende %M som formatstrengen.

Eksempel:

SELECT DATE_FORMAT('2030-12-25', '%M');

Resultat:

December

Sproget, der bruges til månedsnavnet, styres af værdien af lc_time_names systemvariabel.

Kort månedsnavn

Sender %b til DATE_FORMAT() funktion returnerer det korte månedsnavn.

Eksempel:

SELECT DATE_FORMAT('2030-12-25', '%b');

Resultat:

Dec

Dette kunne replikeres med MONTHNAME() funktion ved at bruge LEFT() for at få fat i de første 3 tegn fra månedens navn.

Eksempel:

SELECT LEFT(MONTHNAME('2030-12-25'), 3);

Resultat:

Dec

Det samme koncept kunne opnås ved at konvertere resultatet af MONTHNAME() til en datatype på tre tegn med en funktion som CAST() .

Men mens denne tilgang virker i en_US , fungerer det måske ikke altid som forventet på andre sprog. For eksempel:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
    LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
    MONTHNAME('2030-12-25') AS "Full";

Resultat:

+----------+-----------+-----------------------+
| Short 1  | Short 2   | Full                  |
+----------+-----------+-----------------------+
| ธ.ค.     | ธัน        | ธันวาคม                |
+----------+-----------+-----------------------+

  1. SQL Server Error 4104:Multi-part identifikatoren kunne ikke bindes.

  2. Sådan konverteres en streng til hexadecimal i MySQL – HEX()

  3. Hvordan opdager man, at transaktionen allerede er startet?

  4. Find alle forældre i mysql-tabel med enkelt forespørgsel (Rekursiv forespørgsel)