Tarih ve Saat aralığı sorgulama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
harun1974
Üye
Mesajlar: 6
Kayıt: 12 Eki 2015 12:27

Tarih ve Saat aralığı sorgulama

Mesaj gönderen harun1974 »

Arkadaşlar selamlar,

Daha önce burada sorduğum ve cevabını bulduğumuz bir konuda, tekrar hata yaşamaya başladım. MYSQL veitabanında olan datetime alanındaki verileri sorgularken, aşağıdaki kodu kullanıyorum

select * from tagverileri where tagadi='ALU_MUD_SAATLIK' and zaman between '2019-03-18' and '2019-04-18' AND DATE_FORMAT(zaman, '%H' ) BETWEEN '22:00:00' AND '06:00:00'

Ancak sorgu sonucu boş çıkıyor. Fakat sorgudaki saat aralığını tam tersine yaparsam

DATE_FORMAT(zaman, '%H' ) BETWEEN '06:00:00' AND '22:00:00'

bu şekilde raporlar geliyor. Fakat istediğim sonuç değil çünkü, 8 saatlik veri sorgulamam gerekirken, 16 saatlik veri sorguluyorum. Kodun doğru yazılımı konusunda yardımlarınızı rica ederim.
mkysoft
Kıdemli Üye
Mesajlar: 3103
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Re: Tarih ve Saat aralığı sorgulama

Mesaj gönderen mkysoft »

eğer zaman alanınız timestamp formatındaysa tam arama yapmalısınız.

Kod: Tümünü seç

select * from tagverileri where tagadi='ALU_MUD_SAATLIK' and zaman between '2019-03-18 22:00:00' and '2019-04-18 06:00:00'
speed60
Üye
Mesajlar: 53
Kayıt: 07 Eki 2011 08:07

Re: Tarih ve Saat aralığı sorgulama

Mesaj gönderen speed60 »

18 mart 2019 saat 22.00 den 19 mart 2019 saat 06:00 yı sorguluyorsan tarih değerini yanlış veriyorsun gibi
ertank
Kıdemli Üye
Mesajlar: 1650
Kayıt: 12 Eyl 2015 12:45

Re: Tarih ve Saat aralığı sorgulama

Mesaj gönderen ertank »

harun1974 yazdı: 18 Nis 2019 01:32 Arkadaşlar selamlar,

Daha önce burada sorduğum ve cevabını bulduğumuz bir konuda, tekrar hata yaşamaya başladım. MYSQL veitabanında olan datetime alanındaki verileri sorgularken, aşağıdaki kodu kullanıyorum

select * from tagverileri where tagadi='ALU_MUD_SAATLIK' and zaman between '2019-03-18' and '2019-04-18' AND DATE_FORMAT(zaman, '%H' ) BETWEEN '22:00:00' AND '06:00:00'

Ancak sorgu sonucu boş çıkıyor. Fakat sorgudaki saat aralığını tam tersine yaparsam

DATE_FORMAT(zaman, '%H' ) BETWEEN '06:00:00' AND '22:00:00'

bu şekilde raporlar geliyor. Fakat istediğim sonuç değil çünkü, 8 saatlik veri sorgulamam gerekirken, 16 saatlik veri sorguluyorum. Kodun doğru yazılımı konusunda yardımlarınızı rica ederim.
Merhaba,

Bu gibi sorgulamalar için tarih ve saat değerlerini birlikte ">=" ve "<=" şeklinde sorgulama yapmanızı tavsiye ederim. Database bağımsız olarak her zaman doğru sonuç alırsınız.

Kod: Tümünü seç

select * from tagverileri where tagadi='ALU_MUD_SAATLIK' and (zaman >= '2019-03-18 22:00:00' and zaman <= '2019-04-19 06:00:00')
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: Tarih ve Saat aralığı sorgulama

Mesaj gönderen yusuf simsek »

@mkysoft dediği gibi, Tam değerde arama yapmalısınız.

Eğer Tarih ve Saat alanlarını ayrı ayrı tutuyorsanız tarih ve saati birleştirip TEK ALAN olarak sorgulama yapmalısınız

Kod: Tümünü seç

select * from tagverileri where tagadi='ALU_MUD_SAATLIK' and 

zaman between '2019-03-18 22:00:00' and '2019-04-18 06:00:00'
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla