Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[ÇÖZÜLDÜ]Tarih ve Saat aralığı sorgulama
#11
2019-03-18 21:59:59 yapmanız lazım ki 22:00:00 dan itibaren alsın sizde 22:01:01 den itibaren alıyor listeyi ki gördüğüm kadarı ile düzgün alıyor raporu. Dediğim gibi önce DATE_ADD fonksiyonlarının çıktılarını teyit edin.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#12
(18-04-2019, Saat: 16:51)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.2019-03-18 21:59:59 yapmanız lazım ki 22:00:00 dan itibaren alsın sizde 22:01:01 den itibaren alıyor listeyi ki gördüğüm kadarı ile düzgün alıyor raporu. Dediğim gibi önce DATE_ADD fonksiyonlarının çıktılarını teyit edin.

Sevgili @esistem 

çıkan sorguyu tekrar resim olarak koyuyorum. Fonksiyona göre 18.03.2019 saat 22:00 den 20.03.2019 saat 06:00 ya kadar olan değer gelmesi sonra durması gerekiyor. Ancak dikkat ederseniz 07:00, 08:00, 09:00... devam ediyor.

   

benim sorgumun sonucu ise şu şekilde olmalı:

   
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#13
Abi niye zaman<= 06:00:00 yazıyosun ??? 2019-03-18 22:00:00 'a 8 saat ekliyceksin sen ise 2019-03-19 06:00:00 dan sonraya 8 saat ekliyosun, tabiki yanlış sonuç döndürür. 16 saat aralıklarla veriyor senin kodun sonucu

INTERVAL '0 8' DAY_HOUR 0 gün 8 saat ekle demektir.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#14
Sevgili arkadaşlarım,

Bu kadar uğraşmamıza rağmen bir çözüm bulamadık. Sanırım sorun MYSQL tarafında. Bu sebeple veritabanımı MSSQL olarak değiştirdim. Tabloyu burada açtım ve aşağıda yazmış olduğum sorgu ile istediğimi elde etmiş oldum. Sizlerle paylaşıyorum. Kodun çalıştırılması sonucunda, çıkan sonuçlar aşağıdaki gibidir.

select * from tagdegerleri 
WHERE (zaman BETWEEN '2019-03-18' AND '2019-03-20')
AND (convert(varchar, zaman, 24) > '22:00:00' or convert(varchar, zaman, 24) < '06:00:00')

Çıkan sonuç ise :

ALU_MUD_SAATLIK    2019-03-18 22:00:02.000
ALU_MUD_SAATLIK    2019-03-18 23:00:02.000
ALU_MUD_SAATLIK    2019-03-19 00:00:02.000
ALU_MUD_SAATLIK    2019-03-19 01:00:02.000
ALU_MUD_SAATLIK    2019-03-19 02:00:02.000
ALU_MUD_SAATLIK    2019-03-19 03:00:02.000
ALU_MUD_SAATLIK    2019-03-19 04:00:02.000
ALU_MUD_SAATLIK    2019-03-19 05:00:02.000
ALU_MUD_SAATLIK    2019-03-19 06:00:02.000
ALU_MUD_SAATLIK    2019-03-19 22:00:02.000
ALU_MUD_SAATLIK    2019-03-19 23:00:02.000
ALU_MUD_SAATLIK    2019-03-20 00:00:02.000
ALU_MUD_SAATLIK    2019-03-20 01:00:02.000
ALU_MUD_SAATLIK    2019-03-20 02:00:02.000
ALU_MUD_SAATLIK    2019-03-20 03:00:02.000
ALU_MUD_SAATLIK    2019-03-20 04:00:02.000
ALU_MUD_SAATLIK    2019-03-20 05:00:02.000
ALU_MUD_SAATLIK    2019-03-20 06:00:02.000
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#15
Hocam şu kod ile 2 tarih ve saat arasındaki farkı kendi DB'imde bulabiliyorum..

SELECT * FROM `mobil_lisanslar` WHERE uye_tar BETWEEN '2018-12-23 00:28:00' AND '2018-12-23 00:35:00';
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#16
Tam olarak şunu yazıp denermisiniz mysql de ;

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '1:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR)

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR)

olarak bende çalıştı az önce, sadece saniye eklemek gerekliymiş ilk date te
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#17
(19-04-2019, Saat: 00:23)mcuyan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Hocam şu kod ile 2 tarih ve saat arasındaki farkı kendi DB'imde bulabiliyorum..

SELECT * FROM `mobil_lisanslar` WHERE uye_tar BETWEEN '2018-12-23 00:28:00' AND '2018-12-23 00:35:00';
 bir de bu şekilde çalıştırı mısınız?

SELECT * FROM `mobil_lisanslar` WHERE uye_tar BETWEEN '2018-12-23 21:28:00' AND '2018-12-25 04:35:00

sorun şu : ilk vermiş olduğunuz tarihteki saat, sonraki vermiş olduğunuz tarihteki saatten daha büyük olduğu için sorgulama değeri boş geliyor.

(19-04-2019, Saat: 08:43)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Tam olarak şunu yazıp denermisiniz mysql de ;

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '1:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR)

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR)

olarak bende çalıştı az önce, sadece saniye eklemek gerekliymiş ilk date te
Selamlar hocam,

sizin kodunuz 1 günlük tarih aralığında sorunsuz çalışıyor.

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR)

Çıkan sonuç şu şekilde :

ALU_MUD_SAATLIK    2019-03-18 22:00:02    6800
ALU_MUD_SAATLIK    2019-03-18 23:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 00:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 01:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 02:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 03:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 04:00:02    6800
ALU_MUD_SAATLIK    2019-03-19 05:00:02    6800

Peki, ben 10 günlük bir tarih aralığını sorgulayacaksam ne olacak? Kodu şu şekilde değiştirelim o zaman :

SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-28 22:00:00', INTERVAL '0 8' DAY_HOUR)

Çıkan sonuca bakarsanız, saat 05:00:00 dan sonraki değerleri de getiriyor. Oysaki bunun olmaması, saat : 05:00:00 ten sonraki satırda 19.03.2019 ve saat 22:00:00 kaydının başlaması gerekiyor

70810    ALU_MUD_SAATLIK    2019-03-18 22:00:02    6800        
70875    ALU_MUD_SAATLIK    2019-03-18 23:00:02    6800        
70940    ALU_MUD_SAATLIK    2019-03-19 00:00:02    6800        
71005    ALU_MUD_SAATLIK    2019-03-19 01:00:02    6800        
71070    ALU_MUD_SAATLIK    2019-03-19 02:00:02    6800        
71135    ALU_MUD_SAATLIK    2019-03-19 03:00:02    6800        
71200    ALU_MUD_SAATLIK    2019-03-19 04:00:02    6800        
71265    ALU_MUD_SAATLIK    2019-03-19 05:00:02    6800        
71330    ALU_MUD_SAATLIK    2019-03-19 06:00:02    6800        
71395    ALU_MUD_SAATLIK    2019-03-19 07:00:02    6800        
71460    ALU_MUD_SAATLIK    2019-03-19 08:00:02    6800        
71525    ALU_MUD_SAATLIK    2019-03-19 09:00:02    6800        
71590    ALU_MUD_SAATLIK    2019-03-19 10:00:02    6800        
71655    ALU_MUD_SAATLIK    2019-03-19 11:00:02    6800        
71720    ALU_MUD_SAATLIK    2019-03-19 12:00:02    6800        
71785    ALU_MUD_SAATLIK    2019-03-19 13:00:02    6800        
71850    ALU_MUD_SAATLIK    2019-03-19 14:00:02    6800        
71915    ALU_MUD_SAATLIK    2019-03-19 15:00:02    6800        
71980    ALU_MUD_SAATLIK    2019-03-19 16:00:02    6800        
72045    ALU_MUD_SAATLIK    2019-03-19 17:00:02    6800        
72110    ALU_MUD_SAATLIK    2019-03-19 18:00:02    6800        
72175    ALU_MUD_SAATLIK    2019-03-19 19:00:02    6800
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#18
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '10 0' DAY_HOUR) // 10 gün 0 saat ekledik
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '1 10' DAY_HOUR) // 1 gün 10 saat ekledik

neden şu tarihi değiştirip duruyorsun anlamıyorum ? DAY_HOUR GÜN VE SAAT ekle demektir, başlangıç tarihin hep aynı olucak yani.

2019-03-18 21:59:59 ' a 0:1 dersen 1 saniye ekliyor, oluyor sana 2019-03-18 22:00:00
zaman<= derken de başlangıç tarih ve saatin yukarıdaki ile aynı aynı olmalı ki sen üstüne kaç gün kaç saat istiyosan ekleyebilesin.
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR) // 8 saat ekledik
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '1 10' DAY_HOUR) // 1 gün 10 saat ekledik
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '-1 10' DAY_HOUR) // 1 gün çıkartıp 10 saat ekledik

Fakat siz her günün aynı saat aralıklarındaki değerlerini ayrı ayrı almak istiyorsunuz sanırım, yani ayın 15 inin belirli saat aralığı, 16 sının belirli saat aralığı, 17 sinin belirli saat aralığı gibi mi????
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#19
(19-04-2019, Saat: 12:50)esistem Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '10 0' DAY_HOUR) // 10 gün 0 saat ekledik
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '1 10' DAY_HOUR) // 1 gün 10 saat ekledik

neden şu tarihi değiştirip duruyorsun anlamıyorum ? DAY_HOUR GÜN VE SAAT ekle demektir, başlangıç tarihin hep aynı olucak yani.

2019-03-18 21:59:59 ' a 0:1 dersen 1 saniye ekliyor, oluyor sana 2019-03-18 22:00:00
zaman<= derken de  başlangıç tarih ve saatin yukarıdaki ile aynı aynı olmalı ki sen üstüne kaç gün kaç saat istiyosan ekleyebilesin.
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR) // 8 saat ekledik
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '1 10' DAY_HOUR) // 1 gün 10 saat ekledik
------------------------------------------------------------------------------------------------------------------------------------
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '0:1' MINUTE_SECOND)
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '-1 10' DAY_HOUR) // 1 gün çıkartıp 10 saat ekledik

Fakat siz her günün aynı saat aralıklarındaki değerlerini ayrı ayrı almak istiyorsunuz sanırım, yani ayın 15 inin belirli saat aralığı, 16 sının belirli saat aralığı, 17 sinin belirli saat aralığı gibi mi????

Kesinlikle üstadım. yani ayın 15 inin belirli saat aralığı, 16 sının belirli saat aralığı, 17 sinin belirli saat aralığı gibiSmile
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#20
o zaman tarih ve saat aralığını seçtirip her gün için dongu kurup sql kodu üreticeksiniz.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  [ÇÖZÜLDÜ] dbdatetine wiseman 4 88 58 dakika önce
Son Yorum: wiseman
  SQl tarih Sorunu Bay_Y 7 230 11-11-2019, Saat: 09:06
Son Yorum: Bay_Y
  ÇÖZÜLDÜ-dikdörtgen alanın resim pixel renk değerlerini okuma sadikacar60 2 153 29-10-2019, Saat: 14:48
Son Yorum: sadikacar60
  İlişkili Combobox (Çözüldü) bünyamin68 11 404 23-10-2019, Saat: 11:02
Son Yorum: bünyamin68
  [ÇÖZÜLDÜ] Rapor Baskısında 0 değerleri yazılmasın wiseman 2 148 01-10-2019, Saat: 18:04
Son Yorum: wiseman



Konuyu Okuyanlar: 1 Ziyaretçi