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 |
+--------------------+