Oracle İki Datetime Arasındaki Satırları Getirme
-
Arkadaşlar merhaba. iki kolonum olsun baslangic ve bitis diye. ve tek satırım olsun ;
baslangic bitis
30.12.2013 08:00:00 30.12.2013 09:00:00
bana bu iki date arasındaki her 15 dk'nın sıralı gelmesi gerekiyor
yani;
30.12.2013 08:00:00
30.12.2013 08:15:00
30.12.2013 08:30:00
30.12.2013 08:45:00
30.12.2013 09:00:00
bununla ilgili bildiğiniz bir fonksiyon varmı ? yada bir kod önerebilirmisiniz ?
Şimdiden yardımlarınız için teşekkürler
-
BETWEEN operatörü ile olmadı mı?
ya da > < operatörleri ile?
-
yok hocam nasıl yapacaksınki between ile ? çözümü muhtemelen fonksiyon ile olur
-
select * from table Where KayitTarihi between "ilk tarih" and "ikinci tarih"
http://stackoverflow.com/questions/2369222/oracle-date-between-query
NAME START_DATE ------------- ------------- Small Widget 15-JAN-10 04.25.32.000000 PM Product 117-JAN-10 04.31.32.000000 PM select*from<TABLENAME>where start_date BETWEEN'15-JAN-10'AND'17-JAN-10' -
rakkoc bunu yazdı
select * from table Where KayitTarihi between "ilk tarih" and "ikinci tarih"
http://stackoverflow.com/questions/2369222/oracle-date-between-query
NAME START_DATE ------------- ------------- Small Widget 15-JAN-10 04.25.32.000000 PM Product 117-JAN-10 04.31.32.000000 PM select*from<TABLENAME>where start_date BETWEEN'15-JAN-10'AND'17-JAN-10'adamın istedigi bu degil ki.
burada iki tarih arasındaki zamanı cekip string'e cevirme olayına filan girmisler.
eger belirli bir zaman diliminde kayıt döndüreceksen, isin icinde slice var demektir, isin icinde slice varsa, bakman gereken fonksiyon :
connect by'dır.
-
Andrei bunu yazdırakkoc bunu yazdı
select * from table Where KayitTarihi between "ilk tarih" and "ikinci tarih"
http://stackoverflow.com/questions/2369222/oracle-date-between-query
NAME START_DATE ------------- ------------- Small Widget 15-JAN-10 04.25.32.000000 PM Product 117-JAN-10 04.31.32.000000 PM select*from<TABLENAME>where start_date BETWEEN'15-JAN-10'AND'17-JAN-10'adamın istedigi bu degil ki.
burada iki tarih arasındaki zamanı cekip string'e cevirme olayına filan girmisler.
eger belirli bir zaman diliminde kayıt döndüreceksen, isin icinde slice var demektir, isin icinde slice varsa, bakman gereken fonksiyon :
connect by'dır.
Andrei evet teşekkür ederim cevabın için. connect by level' i denedim çok yavaş çalıştı sorgum ondan vaz geçtim. rownum ile çözmeye çalıştım (select ve where içinde rownum kullandım) bu seferde nedenini anlamadım yanlış sonuç döndürdü. Kısacası yıldım.
Bu arada connect by level ile where ifadesi aynı sorgu içinde uyumlu çalışmıyor. select içinde select yaptım ama değişen birşey olmadı.
Başka bir çözümün varsa gerçekten de çok memnun olurum.
-
oracle date time formatını timestamp olarak mı kaydediyor tam olarak bilmiyorum ama en azından
datetime fieldının string halinden sonra 4 hanesi 00:00 OR 15:00 OR 30:00 or 45:00 olanları where sorgu kelimesiyle arattırabilirsin.Belirttiğin sorgunun hızlı çalışmasını pek beklemiyorum. Verimli sorgu değil heleki büyük tablolarda.
-
zaten olay orada. satırlar yok sadece tek bir satır var diye düşün.
baslangıç ve bitiş tarihleri arasındaki süreleri ben generate edeceğim.
yani select komutu ile çağıracağım.
