sanırım aşağıdaki şekilde tek sorguda sorununu çözebilirsin. MYSQL de denedim bende sorunsuz çalıştı.
gerçi buda sorun çıkartır, son tarihte saat 24 ten sonrası problem olmasın istenirse kodun ilgili kısmı aşağıdaki gibi değiştirilirse net sonuç verecektir.
WHERE DATE( ZAMAN ) >= '2019-04-18' AND
zaman <= DATE_ADD( CONCAT( '2019-04-19 22:00:00' ) , INTERVAL '0 5' DAY_HOUR )
böylece ayın 18 i ve 19 unun 22:00 den sonraki 5 saatide ana sorguya eklenip son değerin;
2019-04-20 02:00:00 olarak görülmesi sağlanmış olur
select DATE( ZAMAN ) AS TARIH, TIME( ZAMAN ) AS SAAT, DEGER // okunan değer FROM test WHERE DATE( ZAMAN ) >= '2019-04-18' AND DATE( ZAMAN ) <= '2019-04-19' // once tarih aralığı DATE() ile tarihi alıyoruz alandan AND ( // sonrada zaman damgaları zaman >= CONCAT( DATE( ZAMAN ) , ' 09:00:00' ) // alandan tarihi çekip yanına saati ekliyoruz concat ile AND zaman <= DATE_ADD( CONCAT( DATE( ZAMAN ) , ' 09:00:00' ) , INTERVAL '0 2' DAY_HOUR ) // yine alandan tarihi çekip yanına saati 2 saat arttırarak ekliyoruz concat ile )
gerçi buda sorun çıkartır, son tarihte saat 24 ten sonrası problem olmasın istenirse kodun ilgili kısmı aşağıdaki gibi değiştirilirse net sonuç verecektir.
WHERE DATE( ZAMAN ) >= '2019-04-18' AND
zaman <= DATE_ADD( CONCAT( '2019-04-19 22:00:00' ) , INTERVAL '0 5' DAY_HOUR )
böylece ayın 18 i ve 19 unun 22:00 den sonraki 5 saatide ana sorguya eklenip son değerin;
2019-04-20 02:00:00 olarak görülmesi sağlanmış olur

