Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Função MySQL CURDATE()

A função `CURDATE()` do MySQL retorna a data atual no formato `YYYY-MM-DD`. É comumente usado para recuperar e comparar a data atual em consultas SQL.

Uso

A função `CURDATE()` é usada quando você precisa trabalhar com a data atual em operações de dados, como filtragem de registros ou definição de valores de data padrão. Ele não requer argumentos e pode ser usado nas cláusulas `SELECT`, `INSERT`, `UPDATE` e `WHERE`.

sql
CURDATE();

Essa sintaxe retorna a data atual como um valor de data.

Observação: `CURDATE()` e `CURRENT_DATE()` são sinônimos e podem ser usados de forma intercambiável.

Exemplos

1. Recuperação básica da data atual

sql
SELECT CURDATE();

Este exemplo simplesmente recupera a data atual do relógio do sistema do servidor MySQL.

2. Usando CURDATE() em uma cláusula WHERE

sql
SELECT order_id, order_date
FROM orders
WHERE order_date = CURDATE();

Neste exemplo, `CURDATE()` é usado para filtrar os pedidos que foram feitos na data atual.

3. Inserção da data atual em uma tabela

sql
INSERT INTO attendance (employee_id, date_checked_in)
VALUES (123, CURDATE());

Aqui, `CURDATE()` é usado para inserir automaticamente a data atual na coluna `date_checked_in` quando um novo registro é adicionado.

4. Consulta complexa com aritmética de data

sql
SELECT employee_id
FROM attendance
WHERE date_checked_in = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

Esse exemplo recupera registros de funcionários que deram entrada no dia anterior à data atual.

Dicas e práticas recomendadas

  • Garanta a consistência do fuso horário. Certifique-se de que seu aplicativo e o servidor MySQL estejam usando as mesmas configurações de fuso horário para evitar resultados inesperados.
  • Use `CURDATE()` para valores somente de data. Se você precisar de data e hora, considere usar `NOW()` em vez disso.
  • Combine com as funções de data. Use `CURDATE()` juntamente com outras funções de data, como `DATE_ADD()`, para cálculos de data mais complexos.
  • Esteja ciente de que você está fazendo um casting implícito. Ao comparar `CURDATE()` com colunas datetime, pode ocorrer uma conversão implícita, o que pode afetar o desempenho. Para otimizar, converta explicitamente a coluna datetime em uma data usando `CAST(datetime_column AS DATE)`.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça