MariaDB
 sql >> база данни >  >> RDS >> MariaDB

3 начина да получите името на месеца от дата в MariaDB

Ето три начина да върнете името на месеца от дата в MariaDB.

MONTHNAME() Функция

MONTHNAME() функцията е проектирана специално за връщане на името на месеца от дата. За да направите това, предайте датата на функцията, когато я извиквате. Ще бъде върнато пълното име на месеца.

Пример:

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

Резултат:

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

Езикът, използван за името на месеца, се контролира от стойността на lc_time_names системна променлива. Вижте MONTHNAME() за пример как това се отразява на изхода.

DATE_FORMAT() Функция

DATE_FORMAT() функцията форматира дадена дата в определен формат. Посочвате датата и формата, когато извиквате функцията.

Можете да върнете пълното име на месеца, като подадете %M като низ за форматиране.

Пример:

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

Резултат:

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

Както при MONTHNAME() , езикът, използван за името на месеца, се контролира от стойността на lc_time_names системна променлива. Въпреки това, DATE_FORMAT() функцията приема незадължителен трети аргумент, който ви позволява да посочите локала.

Ето пример за определяне на локал:

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

Резултат:

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

Име на кратък месец

Подаване на %b към DATE_FORMAT() функцията връща краткото име на месеца.

Пример:

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

Резултат:

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

Това може да бъде репликирано с MONTHNAME() функция с помощта на LEFT() за да вземете първите 3 знака от името на месеца.

Пример:

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

Резултат:

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

Същата концепция може да бъде постигната чрез преобразуване на резултата от MONTHNAME() към тип данни от три знака с функция като CAST() .

Въпреки това, докато този подход работи в en_US , може да не работи винаги на други езици. Например:

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";

Резултат:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да конфигурирате SELinux за системи, базирани на MySQL (MySQL/MariaDB репликация + Galera)

  2. Как да инсталирате и конфигурирате MaxScale за MariaDB

  3. 2 начина да получите краткото име на месеца от дата в MariaDB

  4. Справяне с ненадеждни мрежи при изработване на HA решение за MySQL или MariaDB

  5. Задайте набора от символи и сортиране на таблица в MariaDB