Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

2 funções que retornam o nome do mês de uma data no MySQL


As duas funções a seguir nos permitem obter o nome do mês de uma data no MySQL.

O MONTHNAME() Função


O MONTHNAME() A função foi projetada especificamente para retornar o nome do mês de uma data. Para fazer isso, passe a data para a função ao chamá-la. O nome completo do mês é retornado.

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

Resultado:
October

O idioma usado para o nome do mês é controlado pelo valor de lc_time_names variável do sistema. Veja MONTHNAME() Exemplos para um exemplo de como isso afeta a saída. Consulte também Como definir a localidade para a conexão atual no MySQL para obter mais informações.

O DATE_FORMAT() Função


O DATE_FORMAT() A função retorna uma determinada data em um formato especificado. Para usar esta função, especifique a data e o formato desejado ao chamar a função.

Você pode retornar o nome completo do mês passando %M como a string de formato.

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

Resultado:
December

O idioma usado para o nome do mês é controlado pelo valor de lc_time_names variável do sistema.

Nome abreviado do mês


Passando %b para o DATE_FORMAT() A função retorna o nome curto do mês.

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

Resultado:
December

Isso pode ser replicado com o MONTHNAME() função usando LEFT() para pegar os 3 primeiros caracteres do nome do mês.

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

Resultado:
December

O mesmo conceito pode ser alcançado convertendo o resultado de MONTHNAME() para um tipo de dados de três caracteres com uma função como CAST() .

No entanto, embora essa abordagem funcione em en_US , pode nem sempre funcionar como esperado em outros idiomas. Por exemplo:
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";

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