CONSULTA SQL POR DATA EXEMPLO: DE: ____ ATE_____
Galera estou precidando de uma ajudinha, Quero fazer uma consulta SQL em uma tabela por data, selecionar um perÃodo para a consulta, e não estou conseguindo. Desde já, muito obrigado...
BOM, TENTA ASSIM
[txt-color=#ff0000]EM BD ACCESS[/txt-color]
MODO 1
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA>=#" & DATA1 & "# AND CAMPODATA<=#" & DATA2 & "#"
MODO2
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA BETWEEN #" & DATA1 & "# AND #" & DATA2 & "#"
[txt-color=#ff0000]EM BD SQL SERVER[/txt-color]
MOD0 1
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA>='" & DATA1 & "' AND CAMPODATA<='" & DATA2 & "'"
MOD0 2
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA BETWEEN '" & DATA1 & "' AND '" & DATA2 & "'"
[txt-color=#ff0000]EM BD ACCESS[/txt-color]
MODO 1
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA>=#" & DATA1 & "# AND CAMPODATA<=#" & DATA2 & "#"
MODO2
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA BETWEEN #" & DATA1 & "# AND #" & DATA2 & "#"
[txt-color=#ff0000]EM BD SQL SERVER[/txt-color]
MOD0 1
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA>='" & DATA1 & "' AND CAMPODATA<='" & DATA2 & "'"
MOD0 2
SELECT CAMPO1,CAMPO2 FROM TABELA WHERE CAMPODATA BETWEEN '" & DATA1 & "' AND '" & DATA2 & "'"
EM ORACLE
'
'OBSERVE QUE NO LOCAL DAO INTERVALO DE DATAS EU SUBSTITUI POR UMA ?
Var_Sql = " SELECT CAMPO1, CAMPO2, CAMPON "
Var_Sql = Var_Sql & " FROM TABELA
Var_Sql = Var_Sql & " WHERE CAMPO_DATA BETWEEN ? AND ? "
'
'VEJA EU DEFINI UM COMANDO PARA ISSO
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("var_data1", adDate, adParamInput)
cmd.Parameters("var_data1").value = Me.DTPicker1.value
cmd.Parameters.Append cmd.CreateParameter("var_data2", adDate, adParamInput)
cmd.Parameters("var_data2").value = Me.DTPicker2.value
cmd.CommandText = Var_Sql
'
Set RS1 = cmd.Execute
'
'OBSERVE QUE NO LOCAL DAO INTERVALO DE DATAS EU SUBSTITUI POR UMA ?
Var_Sql = " SELECT CAMPO1, CAMPO2, CAMPON "
Var_Sql = Var_Sql & " FROM TABELA
Var_Sql = Var_Sql & " WHERE CAMPO_DATA BETWEEN ? AND ? "
'
'VEJA EU DEFINI UM COMANDO PARA ISSO
Set cmd = New ADODB.Command
cmd.ActiveConnection = cn
cmd.CommandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("var_data1", adDate, adParamInput)
cmd.Parameters("var_data1").value = Me.DTPicker1.value
cmd.Parameters.Append cmd.CreateParameter("var_data2", adDate, adParamInput)
cmd.Parameters("var_data2").value = Me.DTPicker2.value
cmd.CommandText = Var_Sql
'
Set RS1 = cmd.Execute
Não se esqeuça que no sql server a Data tem que estar em yyyy-mm-dd hh:mm pra se ter uma consulta exata..ou seja
select campo from tabela where data between '2005-05-01 00:00' and '2005-05-25 23:59'
select campo from tabela where data between '2005-05-01 00:00' and '2005-05-25 23:59'
vc poderia utilizar o comando convert, do próprio sql. segue exemplo que uso em meu banco:
SELECT *, DtPedido AS DataDoPedido
FROM Pedido
WHERE (DtPedido > CONVERT(DATETIME, '2005-01-01 00:00:00', 102)) OR
(DtPedido = CONVERT(DATETIME, '2005-12-31 00:00:00', 102))
SELECT *, DtPedido AS DataDoPedido
FROM Pedido
WHERE (DtPedido > CONVERT(DATETIME, '2005-01-01 00:00:00', 102)) OR
(DtPedido = CONVERT(DATETIME, '2005-12-31 00:00:00', 102))
Venho agradecer a atenção e a dica de Fabio Alexandre que muito me ajudou com seus exemplos ainda no dia 26/05/2005, que prontamente colaborou, quero dizer que funcionou e era exatamente o que eu precisava. Valeu (Fabio Alexandre.)
Também gostaria de agradecer os camaradas de plantão que também deram suas dicas, o Flavioalbiero, Laerte e Jean Jedson.
Muito obrigado a todos;
abraços,
Willian.
28/05/2005.
Também gostaria de agradecer os camaradas de plantão que também deram suas dicas, o Flavioalbiero, Laerte e Jean Jedson.
Muito obrigado a todos;
abraços,
Willian.
28/05/2005.
Tópico encerrado , respostas não são mais permitidas