Pular para o conteúdo

SELECT data = hoje/ontem/anteontem no MySQL

Dica publicada em Banco de Dados / MySQL
Fábio Berbert de Paula fabio
Hits: 21.648 Categoria: Banco de Dados Subcategoria: MySQL
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

SELECT data = hoje/ontem/anteontem no MySQL

Sintaxe testada no MySQL e MariaDB, não faço ideia se o padrão SQL usado funcionará em outros SGBDs como PostgreSQL, Oracle, SQL Server etc.

Quero fazer uma consulta SQL que me retorne todos os registros cujo campo "data" corresponde a hoje:

SELECT * FROM tabela WHERE DATE(data) = CURDATE()
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Quero fazer uma consulta SQL que me retorne todos os registros cujo campo "data" corresponde a ontem:

SELECT * FROM tabela WHERE DATE(data) = SUBDATE(CURDATE(), 1)

Quero fazer uma consulta SQL que me retorne todos os registros cujo campo "data" corresponde a anteontem:

SELECT * FROM tabela WHERE DATE(data) = SUBDATE(CURDATE(), 2)

Quero fazer uma consulta SQL que me retorne todos os registros cujo campo "data" corresponde a 7 dias atrás:

SELECT * FROM tabela WHERE DATE(data) = SUBDATE(CURDATE(), 7)

Simples assim. Até a próxima!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Lista de downloads travando no Firefox

O comando split

Instalando o PulseEffects no Debian 10 Buster

Tema Escuro no Chrome Developer Tools (Dark Mode)

Salvar automaticamente no Vim

Recuperando a senha do root de seu MySQL

Como solucionar ERROR 2002: Can't connect to local MySQL server

MySQL - Reset senha root e acesso localhost

Instalando o MySQL Workbench 5.2.34 no debian 6 (squeeze)

Convertendo tabela Paradox .DB para MySQL

#1 Comentário enviado por NillOliveir em 08/07/2024 - 20:29h
Olá Fábio, Me ajude a desenrolar este select, fazendo um favor:
Faço o select com duas condições e em uma condição quero que mostre os registros com a data >= "maior ou igual" a data corrente

tblClientes(id, name, status, agenda, data_agenda)
status (1 = Ativo, 2 = Inativo)
agenda (1 = Marcada, 2 = Demarcada, 3 = Outras....)


SELECT * FROM tblClientes
WHERE status = 1 And agenda = 1 And data_agenda >= CURDATE()

Aqui acontece que a agenda existe outras opções, então preciso que as outras opções sejam selecionadas
data_agenda >= CURDATE() (Mostrar somente para a condição agenda seja maior ou igual a data corrente)
#2 Comentário enviado por fabio em 09/07/2024 - 01:36h

[1] Comentário enviado por NillOliveir em 08/07/2024 - 20:29h

Olá Fábio, Me ajude a desenrolar este select, fazendo um favor:
Faço o select com duas condições e em uma condição quero que mostre os registros com a data >= "maior ou igual" a data corrente

tblClientes(id, name, status, agenda, data_agenda)
status (1 = Ativo, 2 = Inativo)
agenda (1 = Marcada, 2 = Demarcada, 3 = Outras....)


SELECT * FROM tblClientes
WHERE status = 1 And agenda = 1 And data_agenda >= CURDATE()

Aqui acontece que a agenda existe outras opções, então preciso que as outras opções sejam selecionadas
data_agenda >= CURDATE() (Mostrar somente para a condição agenda seja maior ou igual a data corrente)


Se entendi o que você quer, a sintaxe abaixo deve funcionar:


SELECT * FROM tblClientes
WHERE status = 1
AND (
agenda != 1 OR
(agenda = 1 AND data_agenda >= CURDATE())
);

Contribuir com comentário

Entre na sua conta para comentar.