Delphi Can

Orjinalini görmek için tıklayınız: ÇÖZÜLDÜ - Tarih ve saat aralığı sorgulama
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
Arkadaşlar hepinize iyi çalışmalar diliyorum.

MYSQL de Tarih ve saat aralığında sorgulama konusunda sıkıntı çekiyorum ve yardımlarınıza ihtiyacım var. Tablomdaki alanda tutulan zaman formatım şu şekilde;
2019-03-15 01:00:00

ben iki tarih aralığında sorgulama yapmam gerekiyor.
Sorgu aralığım : 15.03.2019 saat 01:00:00 den 19.03.2019 saat 06:00:00 olması gerekiyor.
Raporu alıyorum. Ancak;

15.03.2019 01:00:00
15.03.2019 02:00:00
15.03.2019 03:00:00
15.03.2019 04:00:00
15.03.2019 05:00:00
15.03.2019 06:00:00
15.03.2019 07:00:00
15.03.2019 08:00:00
.......
şeklinde devam ediyor. Benim, her günün sadece 01:00:00 saati ile 06:00:00 saatli arasını raporlamam gerekiyor.

15.03.2019 01:00:00
15.03.2019 02:00:00
15.03.2019 03:00:00
15.03.2019 04:00:00
15.03.2019 05:00:00
15.03.2019 06:00:00
16.03.2019 01:00:00
16.03.2019 02:00:00
16.03.2019 03:00:00
.....
gibi.

kullandığım kod :
select * from tagverileri where tagadi='FAN_SAATLIK' and (zaman between'2019-03-18 00:00:00' and '2019-03-19 06:00:00')

yardımlarınızı rica ederim.
Kullandığınız DB MsSQL mi?


IB1.Close
IB1.Sql.Text:=' Select * from Tablom where (Tarih between :Tarih1 and :Tarih2);';
IB1.ParamByName('Tarih1').asDatTime:='2019-03-15 01:00:00';
IB1.ParamByName('Tarih2').asDatTime:='2019-03-19 03:00:00';
IB1.Prepare;
IB1.Open;

Bu şekilde işinizi görür sanırım..
Hepinize tekrar selamlar
MYSQL kullanıyorum. Sorunu derinlemesine irdeledikten sonra mysql yurtdışı sitelerde bir örnek kod bulup uyguladım ve sorunum çözüldü. Şu anda iki tarih aralığında ve bu iki tarih aralığındaki mevcut iki saat aralığında sorgulama yapabiliyorum. Kodu buraya yazıyorum. İhtiyacı olan arkadaşlara umarım faydalı olur.

SELECT * FROM TABLOADI
where ALANADI='FAN_SAATLIK' and DATE(TARIH) BETWEEN '2019-03-18' AND '2019-03-19'
AND DATE_FORMAT(TARIH, '%H' ) BETWEEN 00 AND 06

Not : BETWEEN 00 AND 06 anlamı, SAAT 00:00 ile SAAT 06:00 arasındaki değerleri getir.