MySQL ile gelişmiş tarih sorguları yapmak ister misiniz? Örneğin geçen haftanın, ya da belli tarih aralığındaki verileri çekmek? İşte bunlardan birkaç tane örneklendiriyorum.
Birkaç örnek ile tarih sorgularını inceleyelim.
select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 15 DAY)
Bugün de dahil olmak üzere son 15 günün verilerini çektik böylelikle.
Ancak bugünün yazıları dahil olmasın isteyebilirsiniz. O zaman şöyle kullanacağız;
SELECT * FROM veri_tablo WHERE tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 15 DAY ) AND CURDATE( )
select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
select * from veri_tablo where tarih >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR)
Son 1 aylık örneğinden farklı olarak son 3 ayın kayıtlarını alacağız. Fakat bu aya ait yazıları çıkarıyoruz.
select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 0 MONTH )
Bu kez son 6 ile 3 ay arasındaki kayıtları alalım.
select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 3 MONTH )
Şimdi ise son 6 ay ile 12 ay arasındaki kayıtları alıyoruz.
select * from veri_tablo where tarih BETWEEN DATE_SUB( CURDATE( ) ,INTERVAL 12 MONTH ) AND DATE_SUB( CURDATE( ) ,INTERVAL 6 MONTH )
select * from veri_tablo where tarih = CURDATE()
select * from veri_tablo where WHERE tarih = DATE_SUB(CURDATE(),INTERVAL 1 DAY)
select * from veri_tablo where WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE)
select * from veri_tablo where WHERE YEARWEEK(tarih) = YEARWEEK(CURRENT_DATE - INTERVAL 7 DAY)
Kod örnekleri aşağıdaki başlıklardan alınmış ve düzenlenmiştir.
Bu yazı 12 Kasım 2008, 18:44 tarihinde yazılmış olup bu zamana kadar 224 kez görüntülenmiştir
Yazını çok beğendim. Yeni yazılarının e-posta adresime gelmesini istiyorum :)