MySql ile Tarih ve Zaman Sorguları 10

Mysql veya sql komutlarını kullanırken genelde zaman sorgularını çabuk unutuyoruz. Bunun da sebebi çok kullanmıyor olmamızdan olsa gerek. Hem kendi arşivimde bulunması için hem de sizlere bir faydası olsun diye çok sık kullanılan zaman ve tarih sql cümleciklerini örneklerle paylaşmak istedim. İşte zaman ve tarih sql cümlecikleri, bunları kolaylıkla php ile kullanabilirsiniz.

SQL ile son 10 güne ait kayıtları çekmek. Bugünde dahil olmak üzere son 10 günün kayıtlarını çekeriz.

SELECT * FROM veriler WHERE tarih >= DATE_SUB(CURDATE(), INTERVAL 10 DAY)

Fakat bugünün tarihi dahil olmasın istiyorsanız bugün hariç son 10 günün kayıtlarınıda bu şekilde çekeriz.

SELECT * FROM veriler WHERE tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 10 DAY ) AND CURDATE( )

Son 1 ayın kayıtlarını mysql ile çekelim.

SELECT * FROM veriler WHERE tarih >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)

Sql ile son 1 yılın kayıtlarını çekelim.

SELECT * FROM veriler WHERE tarih >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)

Şimdi de belirli tarih aralıklarını sql ile aldırmayı yapalım.

Bu ay hariç son 2 ayın verilerini sql ile çekelim.

SELECT * FROM veriler WHERE tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )

Bu seferde son 6 ay ile son 3 ay arasında kalan zamana ait verilei sql ile çekelim.

SELECT * FROM veriler WHERE tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH )

Şimdi ise bugüne yani hangi günde isek o güne ait kayıtları mysql ile çekelim.

SELECT * FROM veriler WHERE tarih = CURDATE()

Düne yani dün ki güne ait yazıları sql ile çekelim.

SELECT * FROM veriler WHERE WHERE tarih = DATE_SUB(CURDATE(),INTERVAL 1 DAY)

Mysql ile o haftaya ait kayıtları çekelim. İçinde bulunulan haftaya ait kayıtlar çekilecektir.

SELECT * FROM veriler WHERE WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE)

Mysql ile geçen haftaya ait verileri çekelim.

SELECT * FROM veriler WHERE WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE - INTERVAL 7 DAY)

Zamanlar ve tarihler mysql veya sql ile başınızı bir nebze ağrıtmaktan kurtarır umarım.

10 thoughts on “MySql ile Tarih ve Zaman Sorguları

  1. Reply ferit Eki 26,2013 12:00

    hocam bu yazdıgınız kodların tamamı tarayıcıda gösterilmiyor. eksik kalıyor.

  2. Reply senin Oca 24,2014 08:59

    Bu ne ya yazılar okunmuyor Okunan yazı
    select * from veriler where WHERE YEARWEEK(tarih) = YEARWEEK(C Gerisi nerde

  3. Reply phpsorunu Oca 19,2015 19:04

    hocam kodlar çalışmıyor

    hata var mı?

    $results = mysql_query (“select * from `video_files` where time >= DATE_SUB(CURDATE(), INTERVAL 10 DAY) and `approval` = ‘1’ order by views desc limit 16;”);

  4. Reply bora Haz 26,2015 14:23

    Merhaba peki bu aya ait veriyi nasıl çekebiliriz ?

    onu yazmayı unutmuşsunuz sanırım

    • Reply bora Haz 26,2015 14:26

      yani bugün ayın 26 ama ben bu ayın 1’inden itibaren olan verileri çekmek istiyorum yani mevcut bulunduğumuz ayın kayıtları

  5. Reply Hakan May 15,2017 09:50

    Hocam bütüm orgular tamam ,ancak mylğ eri tabanında tarih sütünun değerleri nasıl olmalı onu yazmamışsınız.?..20.04.2017 mi?..04.20.2017 mi 2017.20.04 mü..yani timestamp mi,current time stamp mi,date mi,year mı,zaman formatı veri tambanında ne olmalı bu sorguların çalışabilmesi için?

  6. Reply Piri AYKUT Tem 14,2017 12:20

    select DATEDIFF(DATE_ADD(DATE_ADD(‘2017-02-01′,INTERVAL 1 MONTH),INTERVAL -1 DAY),’2017-02-01’)

  7. Reply Piri AYKUT Tem 14,2017 12:21

    İki tarihin arasındaki Gün sayısı:
    select DATEDIFF(DATE_ADD(DATE_ADD(‘2017-02-01′,INTERVAL 1 MONTH),INTERVAL -1 DAY),’2017-02-01’)

Leave a Reply