• 07-08-2020, 22:35:33
    #1
    Merhaba arkadaşlar bir tablomda 2 tarih arası sorgu yaptırıyorum bazı sorgular çalışmıyor bazıları çalışıyor date sutunu datetime formatında kaydediliyor ve 2020-08-07 bu tarihe kayıtlı 4 kayıt var bazılarında veri yok diyor anlamadım hiç birşey fikri olan var mı aşşağıya sorguları yazıyorum çalışan ve çalışmayan sorguları fikri olan yazsın

    SELECT * FROM `tablomr` WHERE date between '2020-08-01' and '2020-08-07' and durums = '1' = bu sorgu çalışmıyor
    SELECT * FROM `tablomr` WHERE date between '2020-08-07' and '2020-08-07' and durums = '1' = bu sorgu da çalışmıyor
    SELECT * FROM `tablomr` WHERE date between '2020-08-07' and '2020-08-08' and durums = '1' = bu sorgu çalışıyor
    SELECT * FROM `tablomr` WHERE date between '2020-08-01' and '2020-08-08' and durums = '1' = bu sorgu da çalışıyor
  • 07-08-2020, 23:01:43
    #2
    fikri olan yok mu sinirim bozuldu gerçekten
  • 07-08-2020, 23:11:28
    #3
    Normalde between <= ve => koşullarını uyguluyor yani normalde 4 sorgunun da çalışması lazım. date verisi field de 2020-08-07 00:00:00 bu formatta kaydediliyor olmalı.

    Aşağıdaki sql kodlar ile oluşturduğum tabloda 4 sorgu da MySql 5.7.24 sürümünde sorunsuz çalıştı.

    CREATE TABLE `tablomr` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `date` datetime DEFAULT NULL,
    `durums` tinyint(4) DEFAULT '0',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  • 07-08-2020, 23:19:16
    #4
    Hocam bende sizin gibi düşünüyorum ve çalışması lazım ama çalışmıyor mysql sürümüm 5.7.31 hiçbir şey anlamadım date alanının tarihlerini yazayım sizde bir deneyin denedim yazdığım 2 sorguda veri yok diyor yani 0 değeri dönüyor diğer 2 sorguda veriler geliyor
    ilk 2 sorgunun sonucu :
    MySQL boş bir sonuç kümesi döndürdü (yani sıfır satır). (Sorgu 0.1789 saniye sürdü.)
    kayıt date tarihleri:
    2020-08-07 11:05:57,
    2020-08-07 11:06:57,
    2020-08-07 12:50:51
    2020-08-07 13:56:41
  • 07-08-2020, 23:30:28
    #5
    Bende 4 sorgu da çalışıyor. Php kodlarınızı ve Php sürümünü de paylaşın isterseniz.
  • 07-08-2020, 23:37:17
    #6
    Coder63 hocam sorunu çözdüm php sürümüm php 7.2 büyük ihtimalle mysql sürüm ile alakalı diye düşünüyorum. Bu sorunla karşılayan diğer arkadaşlar için cevabı da yazayım kalsın ihtiyaç duyanlar için sorgularınızı şu şekilde değiştirin benim sorgumda where den sonra date(date) ekledim çalıştı yani date(buraya sütun ismi gelecek) bu arada coder63 ilgin için tşkler

    SELECT * FROM `tablomr` WHERE date(date) BETWEEN '2020-08-01' AND '2020-08-07' AND durums = '1'
    SELECT * FROM `tablomr` WHERE date(date) BETWEEN '2020-08-07' AND '2020-08-07' AND durums = '1'
    • coder63
    coder63 bunu beğendi.
    1 kişi bunu beğendi.