iki tarih arası sorgu, farklı bir soru
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
iki tarih arası sorgu, farklı bir soru
Herkese merhaba,
İçinden çıkamadığım bir konu hakkında sizlerden yardım rica ediyorum. Bir adet FB hazırlanmış Döviz tablom var.FY2009 ve FY2010 dönemleri içersinde, başlangıç ve bitiş tarihleri arasında kur tahmini yapılıyor.Örnek 2009 döneminde USD ortalama 1,35 olur gibi.
PK - Dönem - Başlangıç Tarih - Bitiş Tarih - USD - EUR - GBP
1...|FY2009| |01.10.2008| |30.09.2009| |1,35| |1,8| |2,2|
2...|FY2010| |01.10.2009| |30.09.2010| |1,5 | |2,1| |3 |
Benim yapmak istediğim sorgu şekli, Örnek: 02.03.2009 tarihi hangi dönem içersinde ise, o döneme ait USD kurunu bana getirsin.Araştımalarımdan aşşağıdaki SQL kodunu buldum fakat işime yaramadı.
İbquery1.SQL.Add('select USD from Doviz where BaslangicTarih between BitisTarih and '02.03.09'') dediğimde bana null kayıt getiriyor.
Bu konuda yardımlarınızı ve önerilerinizi bekliyorum.
Teşekkürler.
İçinden çıkamadığım bir konu hakkında sizlerden yardım rica ediyorum. Bir adet FB hazırlanmış Döviz tablom var.FY2009 ve FY2010 dönemleri içersinde, başlangıç ve bitiş tarihleri arasında kur tahmini yapılıyor.Örnek 2009 döneminde USD ortalama 1,35 olur gibi.
PK - Dönem - Başlangıç Tarih - Bitiş Tarih - USD - EUR - GBP
1...|FY2009| |01.10.2008| |30.09.2009| |1,35| |1,8| |2,2|
2...|FY2010| |01.10.2009| |30.09.2010| |1,5 | |2,1| |3 |
Benim yapmak istediğim sorgu şekli, Örnek: 02.03.2009 tarihi hangi dönem içersinde ise, o döneme ait USD kurunu bana getirsin.Araştımalarımdan aşşağıdaki SQL kodunu buldum fakat işime yaramadı.
İbquery1.SQL.Add('select USD from Doviz where BaslangicTarih between BitisTarih and '02.03.09'') dediğimde bana null kayıt getiriyor.
Bu konuda yardımlarınızı ve önerilerinizi bekliyorum.
Teşekkürler.
Re: iki tarih arası sorgu, farklı bir soru
aynı konudan 2 tane açmışsınız lütfen birisini silin.
UWESIS CORPORATION
-
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2009 09:03
Re: iki tarih arası sorgu, farklı bir soru
Kod: Tümünü seç
İbquery1.SQL.Add('select USD from Doviz where BaslangicTarih>'+quotedstr(datetostr(02.03.2009))+'BitisTarih<'+quotedstr(datetostr(02.03.2009))+)
Re: iki tarih arası sorgu, farklı bir soru
arada bir and eksik. ayrıca > < işaretleri ile = de kullanmak lazım.
Bir kelimenin anlamını öğretsen bile yeter..



Re: iki tarih arası sorgu, farklı bir soru
Cevab veren arkadaşlara teşekkür ederim. Verdiğiniz kod çalışıyor fakat sonuç döndürmüyor.Sonucu null veriyor.Yazdığım tarihi iki tarih arasında sorgulama yapamıyor.Aynı kodu bide ibexpert'te SQL editorde denemedim.Kod hata vermiyor fakat sonuç null, boş geliyor.
Delphi kod
ibexper Kod
Teşekkürler.
Delphi kod
Kod: Tümünü seç
ibquery2.SQL.Add('select * from Doviz where BaslangicTarih>='+QuotedStr(DateToStr(DateTimePicker1.Date)) + ' and ' + BitisTarih<='+QuotedStr(DateToStr(DateTimePicker1.Date)));
Kod: Tümünü seç
select * from Doviz where BaslangicTarih>='08.10.2008' and BitisTarih<='08.10.2008'
Re: iki tarih arası sorgu, farklı bir soru
tarihleri parametre olarak gönderin.
Bir kelimenin anlamını öğretsen bile yeter..



Re: iki tarih arası sorgu, farklı bir soru
Bu şekilde yazarsan boş gelir
Tabloya bakalım.
PK - Dönem - Başlangıç Tarih - Bitiş Tarih - USD - EUR - GBP
1...|FY2009| |01.10.2008| |30.09.2009| |1,35| |1,8| |2,2|
2...|FY2010| |01.10.2009| |30.09.2010| |1,5 | |2,1| |3 |
Tablo yukarıdaki gibiyse dogal olarak boş gelecektir, çünlü baslangic tarihi 08.10.2010 dan büyük ve bitis tarihi 08.10.2010 dan küçük bilgi girişi yok.
Şu şekilde yazarsan daha kesin sonuc alırsın.
Kod: Tümünü seç
select * from Doviz where BaslangicTarih>='08.10.2010' and BitisTarih<='08.10.2010'
PK - Dönem - Başlangıç Tarih - Bitiş Tarih - USD - EUR - GBP
1...|FY2009| |01.10.2008| |30.09.2009| |1,35| |1,8| |2,2|
2...|FY2010| |01.10.2009| |30.09.2010| |1,5 | |2,1| |3 |
Tablo yukarıdaki gibiyse dogal olarak boş gelecektir, çünlü baslangic tarihi 08.10.2010 dan büyük ve bitis tarihi 08.10.2010 dan küçük bilgi girişi yok.
Şu şekilde yazarsan daha kesin sonuc alırsın.
Kod: Tümünü seç
select * from doviz where '08.10.2010' between baslangictarih and bitistarih
Re: iki tarih arası sorgu, farklı bir soru
@emin_as Ben tarih aralığını 2008 verdi görüyorum.
2. kaydın gelmesi lazım.

2. kaydın gelmesi lazım.
Bir kelimenin anlamını öğretsen bile yeter..



Re: iki tarih arası sorgu, farklı bir soru
Doğru, ben yanlışlıkla 2010 görmüşüm.
Re: iki tarih arası sorgu, farklı bir soru
Değerli emin_as aşşağıda verdiğiniz komut satırı tam istediğim gibi çalıştı.
Tüm yardımı geçen arkadaşlara çok teşekkür ederim.
saygılarımla.

saygılarımla.
emin_as yazdı:
Şu şekilde yazarsan daha kesin sonuc alırsın.Kod: Tümünü seç
select * from doviz where '08.10.2010' between baslangictarih and bitistarih