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';