Select com Datas
Boa tarde Pessoal,
Alguém poderia me ajudar com este select. Tenho um select que funciona perfeitamente para access. Como converter para oracle?
Veja abaixo:
Select * From Cadastro WHERE dateDiff(´s´,
(Mid(Format([Data],´00000000´),7,2)+´/´+Mid(Format([Data],´00000000´),5,2)+´/´+Mid(Format([Data],´00000000´),1,4)+´
´+Mid( Format([Hora],´000000´),1,2)+´:´+Mid(
Format([Hora],´000000´),3,2)+´:´+Mid( Format([Hora],´000000´),5,2)),now()) > (Minuto * 60) ORDER BY Data, Hora
O campo Data e do tipo int (armazeno a data como yyyymmdd)
O campo Hora e do tipo int (armazeno a hora como hhmmss)
O campo Minuto e do tipo int
Transformo a data e hora do banco para dd/mm/yyyy hhmmss e subtraio com a data/hora atual. Esta diferença deverá ser maior que o campo em minutos.
obrigada
Nadia
Alguém poderia me ajudar com este select. Tenho um select que funciona perfeitamente para access. Como converter para oracle?
Veja abaixo:
Select * From Cadastro WHERE dateDiff(´s´,
(Mid(Format([Data],´00000000´),7,2)+´/´+Mid(Format([Data],´00000000´),5,2)+´/´+Mid(Format([Data],´00000000´),1,4)+´
´+Mid( Format([Hora],´000000´),1,2)+´:´+Mid(
Format([Hora],´000000´),3,2)+´:´+Mid( Format([Hora],´000000´),5,2)),now()) > (Minuto * 60) ORDER BY Data, Hora
O campo Data e do tipo int (armazeno a data como yyyymmdd)
O campo Hora e do tipo int (armazeno a hora como hhmmss)
O campo Minuto e do tipo int
Transformo a data e hora do banco para dd/mm/yyyy hhmmss e subtraio com a data/hora atual. Esta diferença deverá ser maior que o campo em minutos.
obrigada
Nadia
Nadia Teles
Curtidas 0
Respostas
Motta
16/06/2006
Transformo a data e hora do banco para dd/mm/yyyy hhmmss e subtraio com a data/hora atual. Esta diferença deverá ser maior que o campo em minutos.
diferença de datas em minutos
select ((d2 - d1) * (24 * 60)) minutos
from ....
diferença de datas em minutos
select ((d2 - d1) * (24 * 60)) minutos
from ....
GOSTEI 0
Rogeriorock
16/06/2006
Bem,esta meio complicado entender este seu problema, pq uma data e internamente um double tanto no oracle como no access,e fica meio dificel entender qual e o formato de inteiro que vc diz que esta quardando.mas vou tenar ajudar.
Sendo campo data uma hora e = .041666667 levando em conta que o seu inteiro seria um valor double que se encaija seria assim
Select * From Cadastro WHERE
(sysdate-Data)>.041666667
ORDER BY Data, Hora
Agora na situação ainda mais doida que o que parece
Select * From Cadastro
WHERE
(to_date(substr(Data],7,2)||´/´+substr(Data,5,2)||´/´||substr(Data,1,4)||substr(Hora,1,2)||´:´||substr(Hora,3,2)||´:´||substr(Hora,5,2),´dd/mm/yyyy hh24:mi:ss´)-sysdate)>minuto
ORDER BY Data, Hora
O campo minuto tb não entendi mt bem, o minuto tem o valor de um minuto e vc quer que ele seja maior que 1 hora ou e por minutos mesmo como falou no texto?????
Bem tai ai uma ajuda não sei se vai ajudar pq não entendi mt bem, mas o que vc quer dever ser no minumo algo proximo deste bacalhau ai, mas recomendo que mude para data o mas rapido posivel.
Sendo campo data uma hora e = .041666667 levando em conta que o seu inteiro seria um valor double que se encaija seria assim
Select * From Cadastro WHERE
(sysdate-Data)>.041666667
ORDER BY Data, Hora
Agora na situação ainda mais doida que o que parece
Select * From Cadastro
WHERE
(to_date(substr(Data],7,2)||´/´+substr(Data,5,2)||´/´||substr(Data,1,4)||substr(Hora,1,2)||´:´||substr(Hora,3,2)||´:´||substr(Hora,5,2),´dd/mm/yyyy hh24:mi:ss´)-sysdate)>minuto
ORDER BY Data, Hora
O campo minuto tb não entendi mt bem, o minuto tem o valor de um minuto e vc quer que ele seja maior que 1 hora ou e por minutos mesmo como falou no texto?????
Bem tai ai uma ajuda não sei se vai ajudar pq não entendi mt bem, mas o que vc quer dever ser no minumo algo proximo deste bacalhau ai, mas recomendo que mude para data o mas rapido posivel.
GOSTEI 0