Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

sql upit na osnovu datuma dd-mon-yy hh:mi:ss

[es] :: Oracle :: sql upit na osnovu datuma dd-mon-yy hh:mi:ss

[ Pregleda: 3973 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

konstantin

Član broj: 17262
Poruke: 132
*.com



Profil

icon sql upit na osnovu datuma dd-mon-yy hh:mi:ss02.03.2004. u 13:42 - pre 202 meseci
Iz neke arhive treba da pronadjem slogove koji zadovoljavaju odredjeni uslov ukljucujuci i datum i vrijeme tih dogadjaja. Upit je:

select * from pozivi where p_broj like '00%' and to_char(vrijeme_poziva, 'DD-MON-YY hh:mi:ss') as vrijeme between '22-FEB-04 01:30:00' and '23-FEB-04 15:00:00';

Upit se izvrsi, medjutim dobijem datume svih mjeseci koji pocinju sa 22 i 23 iz svih godina. Da je trazena tacnost na nivou dana ne bi bilo problema, ovako imam problem.
Koristim Oracle, sql 8.1.7.Pretpostavljam da je problem sa konverzijom datumskog polja VRIJEME_POZIVA, ali ukoliko neko moze da mi ponudi ispravnu sintaksu bio bih mu zahvalan!
 
Odgovor na temu

Zidar
Canada

Član broj: 15387
Poruke: 3085
*.eqao.com



+78 Profil

icon Re: sql upit na osnovu datuma dd-mon-yy hh:mi:ss02.03.2004. u 16:22 - pre 202 meseci
Oracle bi trebalo da moze da radi uporedjenje datuma bez konverzije. Izbaci konverziju i radi sa datumima direktno.
 
Odgovor na temu

Raspucin

Moderator
Član broj: 20699
Poruke: 213
*.rcub.bg.ac.yu

ICQ: 244452581


+3 Profil

icon Re: sql upit na osnovu datuma dd-mon-yy hh:mi:ss04.03.2004. u 10:09 - pre 202 meseci
Citat:
konstantin:
select * from pozivi where p_broj like '00%' and to_char(vrijeme_poziva, 'DD-MON-YY hh:mi:ss') as vrijeme between '22-FEB-04 01:30:00' and '23-FEB-04 15:00:00';


Kao Sto covek pre mene rece poredi datume direktno. Ne znam da li vidis sta si ovde uradio:

to_char(vrijeme_poziva, 'DD-MON-YY hh:mi:ss') as vrijeme

kao sto se vidi tvoja kolona vrijeme je tipa varchar2, a ti trazis vrijeme

between '22-FEB-04 01:30:00' and '23-FEB-04 15:00:00'

sto znaci da ti daje ispravan rezultat a to su svi nizovi karaktera koji pocinju sa brojevima 22 i 23.

Citat:
konstantin:
Upit se izvrsi, medjutim dobijem datume svih mjeseci koji pocinju sa 22 i 23 iz svih godina. Da je trazena tacnost na nivou dana ne bi bilo problema, ovako imam problem.
Koristim Oracle, sql 8.1.7.Pretpostavljam da je problem sa konverzijom datumskog polja VRIJEME_POZIVA, ali ukoliko neko moze da mi ponudi ispravnu sintaksu bio bih mu zahvalan!


Ovo mozes da uradis na dva nacina:

Prvi je direkno sa datumima


select *
from pozivi
where p_broj like '00%' and
vrijeme_poziva between '22-FEB-04 01:30:00' and '23-FEB-04 15:00:00';

a drugi je kao sto si poceo samo ces jos da ubacis i funkciju to_date:


select *
from pozivi
where p_broj like '00%' and
to_date(to_char(vrijeme_poziva, 'DD-MON-YY hh:mi:ss'))
as vrijeme between '22-FEB-04 01:30:00' and '23-FEB-04 15:00:00';
 
Odgovor na temu

konstantin

Član broj: 17262
Poruke: 132
*.com



Profil

icon Re: sql upit na osnovu datuma dd-mon-yy hh:mi:ss09.03.2004. u 07:06 - pre 202 meseci
Odmah nakon postavljanja pitanja rijesio sam "problem" pa poslije nisam isao na forum.Zato Vam se izvinjavam obojici sto nisam ranije odgovorio.
 
Odgovor na temu

[es] :: Oracle :: sql upit na osnovu datuma dd-mon-yy hh:mi:ss

[ Pregleda: 3973 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.