Problema:
Preciso fazer uma consulta com SQL que me retorne todos os registros em que o valor de um campo do tipo data seja igual ou anterior à dada do sistema. Como fazer?
Solução 1: Filtrar pela data atual do computador que está executando o programa.
Query.Close; Query.SQL.Text := 'SELECT * FROM Tabela WHERE CampoData <= :Hoje'; Query.ParamByName('Hoje').AsDate := Date; Query.Open;
Solução 2: Filtrar pela data atual do computador servidor onde está o banco de dados.
Query.Close; Query.SQL.Text := 'SELECT * FROM Tabela WHERE CampoData <= CURRENT_DATE'; Query.Open;
Observações
Dependendo do servidor de banco de dados que esteja usando, talvez tenha que trocar CURRENT_DATE por TODAY() ou outra função equivalente.
O conteúdo desta página pode ajudar alguém? Compartilhe!