O MariaDB tem várias funções que permitem extrair várias partes de data e hora de valores de data/hora. Você pode usá-los para separar cada componente de data/hora em sua própria coluna, se necessário.
Abaixo estão três maneiras de extrair o ano, mês e dia de um valor de data no MariaDB.
O YEAR()
, MONTH()
, e DAY()
Funções
O
YEAR()
, MONTH()
, e DAY()
As funções extraem o ano, mês e dia de um valor de data ou data e hora, respectivamente. Aqui está um exemplo de como usar essas funções para retornar cada componente de data em sua própria coluna:
SELECT
YEAR('2025-08-30') AS "Year",
MONTH('2025-08-30') AS "Month",
DAY('2025-08-30') AS "Day";
Resultado:
+------+-------+------+ | Year | Month | Day | +------+-------+------+ | 2025 | 8 | 30 | +------+-------+------+
O
DAY()
função é na verdade um sinônimo para DAYOFMONTH()
, então qualquer um retornará o mesmo resultado. Há também um
WEEKDAY()
função, um DAYOFWEEK()
função, um DAYOFYEAR()
função e um DAYNAME()
função, cada uma das quais retorna uma representação diferente do dia. Além disso, há um
MONTHNAME()
função que retorna o nome do mês, em vez de seu número. Aqui está outro exemplo que inclui essas funções:
SELECT
YEAR('2025-08-30') AS "YEAR",
MONTH('2025-08-30') AS "MONTH",
MONTHNAME('2025-08-30') AS "MONTHNAME",
DAY('2025-08-30') AS "DAY",
DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
WEEKDAY('2025-08-30') AS "WEEKDAY",
DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
DAYNAME('2025-08-30') AS "DAYNAME";
Resultado (usando saída vertical):
YEAR: 2025 MONTH: 8 MONTHNAME: August DAY: 30 DAYOFMONTH: 30 WEEKDAY: 5 DAYOFWEEK: 7 DAYOFYEAR: 242 DAYNAME: Saturday
Você também pode usar funções como
WEEK()
para retornar o número da semana e QUARTER()
para devolver o trimestre. Exemplo:
SELECT
WEEK('2025-08-30') AS "Week",
QUARTER('2025-08-30') AS "Quarter";
Resultado:
+------+---------+ | Week | Quarter | +------+---------+ | 34 | 3 | +------+---------+
A
WEEK()
A função aceita um segundo argumento que permite especificar o modo. Isso pode alterar o número da semana resultante, dependendo da data real. Veja como WEEK()
Funciona no MariaDB para mais informações e um exemplo. O EXTRACT()
Função
O
EXTRACT()
A função permite extrair uma unidade especificada do valor de data/hora. Portanto, você pode usá-lo para extrair o ano, mês e dia da data (assim como semana e trimestre, se necessário). Exemplo:
SELECT
EXTRACT(YEAR FROM '2023-03-12') AS "Year",
EXTRACT(MONTH FROM '2023-03-12') AS "Month",
EXTRACT(DAY FROM '2023-03-12') AS "Day",
EXTRACT(WEEK FROM '2023-03-12') AS "Week",
EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";
Resultado:
+------+-------+------+------+---------+ | Year | Month | Day | Week | Quarter | +------+-------+------+------+---------+ | 2023 | 3 | 12 | 11 | 1 | +------+-------+------+------+---------+
O DATE_FORMAT()
Função
O
DATE_FORMAT()
A função permite que você formate um valor de data ou data e hora com base em uma string de formato. A string de formato especifica como a data/hora deve ser formatada. Podemos, portanto, usar esta função para retornar o ano, mês, dia e semana de uma data.
Exemplo:
SELECT
DATE_FORMAT('2035-12-08', '%Y') AS "Year",
DATE_FORMAT('2035-12-08', '%m') AS "Month",
DATE_FORMAT('2035-12-08', '%d') AS "Day",
DATE_FORMAT('2035-12-08', '%U') AS "Week";
Resultado:
+------+-------+------+------+ | Year | Month | Day | Week | +------+-------+------+------+ | 2035 | 12 | 08 | 48 | +------+-------+------+------+
Existem vários especificadores de formato possíveis para cada parte da data. Cada parte da data pode retornar um valor diferente, dependendo do especificador de formato real fornecido. Por exemplo, você pode retornar o nome completo do mês usando
%M
em vez de %m
. Veja Strings de Formato MariaDB para uma lista completa de strings/especificadores de formato que podem ser usados com
DATE_FORMAT()
.