MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

11 funções para obter o dia, mês e ano de uma data no MariaDB


MariaDB inclui muitas funções para trabalhar com datas. Alguns deles extraem certas partes de tais datas e as retornam como uma string ou inteiro.

Abaixo estão 11 funções que você pode usar para retornar várias partes de data no MariaDB.

As funções


Primeiro vamos as funções:
  • DATE_FORMAT()
  • EXTRACT()
  • DAYNAME()
  • DAYOFMONTH()
  • DAY()
  • DAYOFWEEK()
  • WEEKDAY()
  • DAYOFYEAR()
  • MONTH()
  • MONTHNAME()
  • YEAR()

Abaixo estão exemplos de cada função.

O DATE_FORMAT() Função


O DATE_FORMAT() A função permite que você formate uma data com base em uma string de formato. A string de formato especifica como a data deve ser formatada. Você constrói sua própria string de formato com base em um ou mais especificadores de formato.

Aqui está um exemplo de uso de DATE_FORMAT() para retornar o dia, mês e ano de uma data:
SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');

Resultado:
+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%W, %D %M %Y') |
+-------------------------------------------+
| Tuesday, 25th July 2023                   |
+-------------------------------------------+

O bom dessa função é que você pode retornar muitas variações da data. Por exemplo, você pode retornar apenas os nomes curtos de dia e mês:
SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');

Resultado:
+-------------------------------------------+
| DATE_FORMAT('2023-07-25', '%a, %D %b %Y') |
+-------------------------------------------+
| Tue, 25th Jul 2023                        |
+-------------------------------------------+

Ou você pode retornar os números do mês do dia:
SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');

Resultado:
+---------------------------------------+
| DATE_FORMAT('2023-07-25', '%d/%c/%Y') |
+---------------------------------------+
| 25/7/2023                             |
+---------------------------------------+

Veja esta lista completa de especificadores de formato para um resumo completo dos especificadores de formato que você pode usar para construir uma string de formato.

DATE_FORMAT() também aceita um argumento de localidade opcional que você pode usar para especificar o idioma dos nomes de dia e mês. É uma função bastante flexível. Veja DATE_FORMAT() para mais exemplos.

O EXTRACT() Função


O EXTRACT () A função permite extrair uma unidade especificada da data. Assim, você pode usá-lo para extrair o dia, mês e ano (assim como outras unidades) da data.

Exemplo:
SELECT 
    EXTRACT(DAY FROM '2023-07-25') AS Day,
    EXTRACT(MONTH FROM '2023-07-25') AS Month,
    EXTRACT(YEAR FROM '2023-07-25') AS Year;

Resultado:
+------+-------+------+
| Day  | Month | Year |
+------+-------+------+
|   25 |     7 | 2023 |
+------+-------+------+

Funções para retornar uma unidade de data específica


O MariaDB também possui várias funções mais específicas que retornam uma unidade de data específica.

Abaixo está uma lista das funções que retornam o dia, mês e ano de uma data.

O DAYNAME() Função


Existem algumas funções para retornar o dia no MariaDB (e na maioria dos outros DBMSs). Isso ocorre porque o MariaDB precisa saber se você deseja o nome do dia, o número do dia da semana, o dia do mês, o dia do ano etc.

O DAYNAME() função retorna o nome do dia da semana.

Exemplo:
SELECT DAYNAME('2023-07-25');

Resultado:
+-----------------------+
| DAYNAME('2023-07-25') |
+-----------------------+
| Tuesday               |
+-----------------------+

O DAYOFMONTH() Função


O DAYOFMONTH() função retorna o dia do número do mês.

Exemplo:
SELECT DAYOFMONTH('2023-07-25');

Resultado:
+--------------------------+
| DAYOFMONTH('2023-07-25') |
+--------------------------+
|                       25 |
+--------------------------+

O DAY() Função


O DAY() função é na verdade um sinônimo para o DAYOFMONTH() função.

Exemplo:
SELECT DAY('2023-07-25');

Resultado:
+-------------------+
| DAY('2023-07-25') |
+-------------------+
|                25 |
+-------------------+

Como esperado, o mesmo resultado que DAYOFMONTH() .

O DAYOFWEEK() Função


O DAYOFWEEK() A função retorna o índice do dia da semana para a data, conforme especificado pelo padrão ODBC (1 =domingo, 2 =segunda-feira, …, 7 =sábado).

Exemplo:
SELECT DAYOFWEEK('2023-07-25');

Resultado:
+-------------------------+
| DAYOFWEEK('2023-07-25') |
+-------------------------+
|                       3 |
+-------------------------+

Veja WEEKDAY() abaixo para indexação diferente.

O WEEKDAY() Função


O WEEKDAY() função é semelhante a DAYOFWEEK() na medida em que retorna o índice da semana para a data. A diferença é que ele usa uma numeração de índice diferente (0 =segunda-feira, 1 =terça-feira, … 6 =Domingo).

Exemplo:
SELECT WEEKDAY('2023-07-25');

Resultado:
+-----------------------+
| WEEKDAY('2023-07-25') |
+-----------------------+
|                     1 |
+-----------------------+

O DAYOFYEAR() Função


O DAYOFYEAR() função retorna o dia do ano para a data, no intervalo 1 para 366 .

Exemplo:
SELECT DAYOFYEAR('2023-07-25');

Resultado:
+-------------------------+
| DAYOFYEAR('2023-07-25') |
+-------------------------+
|                     206 |
+-------------------------+

O MONTH() Função


O MONTH() função retorna o mês no intervalo 1 para 12 para janeiro a dezembro, ou 0 para datas que tenham uma parte de mês zero (como 0000-00-00 ).

Exemplo:
SELECT MONTH('2023-07-25');

Resultado:
+---------------------+
| MONTH('2023-07-25') |
+---------------------+
|                   7 |
+---------------------+

O MONTHNAME() Função


Como o nome sugere, o MONTHNAME() função retorna o nome do mês. O idioma usado para o nome é controlado pelo valor do lc_time_names variável do sistema.

Exemplo:
SELECT MONTHNAME('2023-07-25');

Resultado:
+-------------------------+
| MONTHNAME('2023-07-25') |
+-------------------------+
| July                    |
+-------------------------+

O YEAR() Função


O YEAR() A função retorna a parte do ano da data.

Exemplo:
SELECT YEAR('2023-07-25');

Resultado:
+--------------------+
| YEAR('2023-07-25') |
+--------------------+
|               2023 |
+--------------------+