SQL - como faço um select entre duas datas?
Gotari der saber se alguem pode me ajudar, estou tentando fazer uma query em uma tabela que contem um campo do tipo data que lista as datas de entre um intervalo X e Y mas nao estou conseguindo. Allguem pode me ajudar??
:arrow: [color=red:4156e4e26e]Título alterado pelo Moderador oTTo. Removido ´SQL´.[/color:4156e4e26e]
:idea: [color=blue:4156e4e26e]Use sempre pesquisar no topo da página.
:idea: Seja mais claro no título.
:idea: Leia as regras de conduta do fórum.[/color:4156e4e26e]
:arrow: [color=red:4156e4e26e]Título alterado pelo Moderador oTTo. Removido ´SQL´.[/color:4156e4e26e]
:idea: [color=blue:4156e4e26e]Use sempre pesquisar no topo da página.
:idea: Seja mais claro no título.
:idea: Leia as regras de conduta do fórum.[/color:4156e4e26e]
Marcelo Batista
Curtidas 0
Melhor post
Marisiana Battistella
13/06/2014
Que banco de dados você está utilizando?
Talvez vc consiga fazer funcionar usando o to_date.
Talvez vc consiga fazer funcionar usando o to_date.
select * from cadastros where DataRegistro between to_date( '28/04/2014', 'dd/mm/yyyy') and to_date( '28/04/2014', 'dd/mm/yyyy')
GOSTEI 1
Mais Respostas
Motta
07/07/2004
no sql da query faça algo assim....
SELECT *
FROM TABELA
WHERE DATA BETWEEN :D1 AND :D2
NO FORM
WITH QUERY1 DO
BEGIN
CLOSE;
PARAMS[0].ASDateTime := ....;
PARAMS[1].ASDateTime := ....;
OPEN;
END;
entre outras soluções ...
SELECT *
FROM TABELA
WHERE DATA BETWEEN :D1 AND :D2
NO FORM
WITH QUERY1 DO
BEGIN
CLOSE;
PARAMS[0].ASDateTime := ....;
PARAMS[1].ASDateTime := ....;
OPEN;
END;
entre outras soluções ...
GOSTEI 0
Rômulo Barros
07/07/2004
Regras de Conduta :arrow: http://delphiforum.icft.com.br/forum/viewtopic.php?t=6689&sid=a6a9c1313d4f5601b5a3be0d19f08033
[color=red:5a77c27507]2- Não poste mensagens com o título ou o texto em maiúsculas, isto é
extremamente desagradável, equivale a GRITAR. Além de ser desagradável de ler, é injusto, pois faz com que sua mensagem tenha mais destaque que as demais. [/color:5a77c27507]
[color=red:5a77c27507]3- Use sempre um título que dê uma idéia do conteúdo da mensagem e que seja o mais objetivo possível. Com isto, você conseguirá atrair um número maior de pessoas interessadas no tema. [/color:5a77c27507]
[color=red:5a77c27507]2- Não poste mensagens com o título ou o texto em maiúsculas, isto é
extremamente desagradável, equivale a GRITAR. Além de ser desagradável de ler, é injusto, pois faz com que sua mensagem tenha mais destaque que as demais. [/color:5a77c27507]
[color=red:5a77c27507]3- Use sempre um título que dê uma idéia do conteúdo da mensagem e que seja o mais objetivo possível. Com isto, você conseguirá atrair um número maior de pessoas interessadas no tema. [/color:5a77c27507]
GOSTEI 0
Hatrix
07/07/2004
Tente usar:
select ´CAMPOS´ from ´TABELA´
where
´CAMPO_DATA´ between ´DATA1´ and ´DATA2´
as datas deve estar no formado MM/DD/YYYY ou YYYY/MM/DD
select ´CAMPOS´ from ´TABELA´
where
´CAMPO_DATA´ between ´DATA1´ and ´DATA2´
as datas deve estar no formado MM/DD/YYYY ou YYYY/MM/DD
GOSTEI 0
Hatrix
07/07/2004
Tente usar:
select ´CAMPOS´ from ´TABELA´
where
´CAMPO_DATA´ between ´DATA1´ and ´DATA2´
as datas deve estar no formado MM/DD/YYYY ou YYYY/MM/DD
select ´CAMPOS´ from ´TABELA´
where
´CAMPO_DATA´ between ´DATA1´ and ´DATA2´
as datas deve estar no formado MM/DD/YYYY ou YYYY/MM/DD
GOSTEI 0
Marcelo Batista
07/07/2004
Certo, este eh problema. eu criei uma tabela em paradox do tipo date e nao consigo fazer isso, o comando me retorna tipos incompativeis.
Ja aproveitando eu nao consigo inserir em um campo do tipo data vinda de um maskedit com o caratere literal que seria ´00/00/00´ e tambem sem ele ´000000´ nao funciona nenhum dos dois.
Ja aproveitando eu nao consigo inserir em um campo do tipo data vinda de um maskedit com o caratere literal que seria ´00/00/00´ e tambem sem ele ´000000´ nao funciona nenhum dos dois.
Tente usar:
select ´CAMPOS´ from ´TABELA´
where
´CAMPO_DATA´ between ´DATA1´ and ´DATA2´
as datas deve estar no formado MM/DD/YYYY ou YYYY/MM/DD
GOSTEI 0
Wellysson
07/07/2004
eu coloquei o código {select * from cadastros where DataRegistro between 28/04/2014 and 28/04/2014} e não consegui resultados, mesmo mudando as datas.
A coluna DataRegistro é do tipo datetime. Alguém me ajude por favor!
A coluna DataRegistro é do tipo datetime. Alguém me ajude por favor!
GOSTEI 0
Renato Motta
07/07/2004
Ex: o RETORNO SERÁ ESSE:
01/07/2015
02/07/2015
03/07/2015
04/07/2015
05/07/2015
Segue código que pega a data e o intervalo entre elas.
declare @startDate date;
declare @endDate date;
select @startDate = '20150701';
select @endDate = '20150705';
with dateRange as
(
select dt = @startDate
where @startDate < @endDate
union all
select dateadd(dd, 1, dt)
from dateRange
where dateadd(dd, 1, dt) <= @endDate
)
select convert(varchar(MAX),dt,103)
from dateRange
01/07/2015
02/07/2015
03/07/2015
04/07/2015
05/07/2015
Segue código que pega a data e o intervalo entre elas.
declare @startDate date;
declare @endDate date;
select @startDate = '20150701';
select @endDate = '20150705';
with dateRange as
(
select dt = @startDate
where @startDate < @endDate
union all
select dateadd(dd, 1, dt)
from dateRange
where dateadd(dd, 1, dt) <= @endDate
)
select convert(varchar(MAX),dt,103)
from dateRange
GOSTEI 0