sql >> Databáze >  >> RDS >> MariaDB

3 způsoby, jak získat název měsíce z data v MariaDB

Zde jsou tři způsoby, jak vrátit název měsíce z data v MariaDB.

MONTHNAME() Funkce

MONTHNAME() funkce je navržena speciálně pro vrácení názvu měsíce z data. Chcete-li to provést, předejte funkci datum při jejím volání. Bude vrácen celý název měsíce.

Příklad:

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

Výsledek:

+-------------------------+
| MONTHNAME('2021-08-19') |
+-------------------------+
| August                  |
+-------------------------+

Jazyk použitý pro název měsíce je řízen hodnotou lc_time_names systémová proměnná. Viz MONTHNAME() pro příklad toho, jak to ovlivňuje výstup.

DATE_FORMAT() Funkce

DATE_FORMAT() funkce formátuje dané datum do zadaného formátu. Datum a formát zadáte při volání funkce.

Celý název měsíce můžete vrátit předáním %M jako formátovací řetězec.

Příklad:

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

Výsledek:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%M') |
+---------------------------------+
| August                          |
+---------------------------------+

Stejně jako u MONTHNAME() , jazyk použitý pro název měsíce je řízen hodnotou lc_time_names systémová proměnná. Nicméně DATE_FORMAT() funkce přijímá volitelný třetí argument, který vám umožňuje určit národní prostředí.

Zde je příklad určení národního prostředí:

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

Výsledek:

+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%M', 'ca_ES') |
+------------------------------------------+
| agost                                    |
+------------------------------------------+

Krátký název měsíce

Předání %b do DATE_FORMAT() funkce vrací krátký název měsíce.

Příklad:

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

Výsledek:

+---------------------------------+
| DATE_FORMAT('2021-08-19', '%b') |
+---------------------------------+
| Aug                             |
+---------------------------------+

To lze replikovat pomocí MONTHNAME() pomocí LEFT() uchopit první 3 znaky z názvu měsíce.

Příklad:

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

Výsledek:

+----------------------------------+
| LEFT(MONTHNAME('2021-08-19'), 3) |
+----------------------------------+
| Aug                              |
+----------------------------------+

Stejného konceptu lze dosáhnout převedením výsledku MONTHNAME() na tříznakový datový typ s funkcí jako CAST() .

Tento přístup však funguje v en_US , nemusí to vždy fungovat v jiných jazycích. Například:

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

Výsledek:

+----------+-----------+-----------------------+
| Short 1  | Short 2   | Full                  |
+----------+-----------+-----------------------+
| ส.ค.     | สิง        | สิงหาคม                |
+----------+-----------+-----------------------+


  1. Vytvořte web s MySQL

  2. 4 způsoby, jak najít řádky, které obsahují velká písmena v MariaDB

  3. Použití merge..output k získání mapování mezi source.id a target.id

  4. Rozdíl mezi VARCHAR a TEXT v MySQL