Ç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
#1
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.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#2
Ben MySQL'de uzman değilim ama DATE_FORMAT(, '%H') ile sadece saat bilgisini elde edip (Yani 13:45'in 13 'ünü) bu değerin '22:00' arasında olduğunu sorgulamak biraz garip değil mi ?
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#3
Size TIME ya da HOUR fonksiyonlarını ihtiyacınıza göre kullanmanızı öneririm.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla
#4
(18-04-2019, Saat: 13:45)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Ben MySQL'de uzman değilim ama DATE_FORMAT(, '%H') ile sadece saat bilgisini elde edip (Yani 13:45'in 13 'ünü) bu değerin '22:00' arasında olduğunu sorgulamak biraz garip değil mi ?

Sevgili Hocam,

verilerim bu şekilde kayıtlı olduğu için, bir enerji hesaplaması yapmam gerekiyor. Yani iki tarih aralığındaki, Akşam 22:00 ile sabah 06:00 aralığındaki verileri sorgulamam gerekiyor.

   
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#5
Şu fonksiyonu kullanarak işlem yapablirsiniz sanırım

SELECT DATE_ADD('2011-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) # '2012-01-01 00:01:00'

yada;
SELECT DATE_ADD('2011-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR) # '2010-12-30 14:00:00'
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#6
(18-04-2019, Saat: 14:10)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.Şu fonksiyonu kullanarak işlem yapablirsiniz sanırım

SELECT DATE_ADD('2011-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) # '2012-01-01 00:01:00'

yada;
SELECT DATE_ADD('2011-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR) # '2010-12-30 14:00:00'

Tam olarak bunu anlayamadığım için uygulayamadım Sad
benim yazmış olduğum koda bunu nasıl uygulayabiliriz?
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#7
(18-04-2019, Saat: 14:21)wiseman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(18-04-2019, Saat: 14:10)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.Şu fonksiyonu kullanarak işlem yapablirsiniz sanırım

SELECT DATE_ADD('2011-12-31 23:59:59', INTERVAL '1:1' MINUTE_SECOND) # '2012-01-01 00:01:00'

yada;
SELECT DATE_ADD('2011-01-01 00:00:00', INTERVAL '-1 10' DAY_HOUR) # '2010-12-30 14:00:00'

Tam olarak bunu anlayamadığım için uygulayamadım Sad
benim yazmış olduğum koda bunu nasıl uygulayabiliriz?
SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and 
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '1:1' MINUTE_SECOND) // çıktısı 2019-03-18 22:00:00 olmalı
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR) // çıktısı 2019-03-19 06:00:00 olmalı 8 saat ekledik
sanırım yukardaki şekilde olmalı

tabi bu arada tablonuzda zaman alanı datetime olmalı
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#8
(18-04-2019, Saat: 14:27)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.
(18-04-2019, Saat: 14:21)wiseman 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 bunu anlayamadığım için uygulayamadım Sad
benim yazmış olduğum koda bunu nasıl uygulayabiliriz?
SELECT * from tagverileri where tagadi='ALU_MUD_SAATLIK' and 
zaman>=DATE_ADD('2019-03-18 21:59:59', INTERVAL '1:1' MINUTE_SECOND) // çıktısı 2019-03-18 22:00:00 olmalı
and
zaman<=DATE_ADD('2019-03-18 22:00:00', INTERVAL '0 8' DAY_HOUR) // çıktısı 2019-03-19 06:00:00 olmalı 8 saat ekledik
sanırım yukardaki şekilde olmalı

tabi bu arada tablonuzda zaman alanı datetime olmalı
Yine olmadı hocam Sad

bir türlü 18.03.2019 saat 22:00 - 19:03:2019 saat 06:00 aralığındaki saat başı kaydettiğim verileri sorgulayamadım.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#9
yazdığımız kodun çıktısı ne oluyor peki? goruntusunu koysan buraya ? ayrıca date_add fonksiyonlarının çıktılarınıda kontrol etmen lazım
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#10
(18-04-2019, Saat: 15:29)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.yazdığımız kodun çıktısı ne oluyor peki? goruntusunu koysan buraya ? ayrıca date_add fonksiyonlarının çıktılarınıda kontrol etmen lazım

Sizin kodun sonucunu buraya koydum

   

(18-04-2019, Saat: 13:45)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Ben MySQL'de uzman değilim ama DATE_FORMAT(, '%H') ile sadece saat bilgisini elde edip (Yani 13:45'in 13 'ünü) bu değerin '22:00' arasında olduğunu sorgulamak biraz garip değil mi ?

Tuğrul Hocam,

datetime olan bir alandaki tarih ve saat şartına göre sorgulama yapmak için başka bir kod bulamadım. MYSQL olması önemli değil, elektrik sayacının gece saat 22:00 den sabah 06:00 ya kadar kayıt ettiği saat başı tüketimi sorgulayacağım. Sorunum bu. 10 günlük bir tarih aralığı verdiysem, 10 günlük saat 22.00 - 06:00 aralığındaki gece tüketimini sorgulmam gerekiyor.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  SQl tarih Sorunu Bay_Y 7 201 11-11-2019, Saat: 09:06
Son Yorum: Bay_Y
  ÇÖZÜLDÜ-dikdörtgen alanın resim pixel renk değerlerini okuma sadikacar60 2 151 29-10-2019, Saat: 14:48
Son Yorum: sadikacar60
  İlişkili Combobox (Çözüldü) bünyamin68 11 399 23-10-2019, Saat: 11:02
Son Yorum: bünyamin68
  [ÇÖZÜLDÜ] Rapor Baskısında 0 değerleri yazılmasın wiseman 2 147 01-10-2019, Saat: 18:04
Son Yorum: wiseman
  [ÇÖZÜLDÜ] fast report dil hatası wiseman 6 281 25-09-2019, Saat: 14:29
Son Yorum: wiseman



Konuyu Okuyanlar: 1 Ziyaretçi