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.
hocam
Pazartesi .php
Salı .php
Çarşamba .php
Perşembe .php
Cuma .php
Cumartesi .php
Pazar .php
böyle dosya yaptim bunlarin verilerini nasil alicam
@gökhan; bunlar “date” ya da “datetime” veri türüne sahip alanlarda işe yarayacaktır düşünceme göre
Ben veritabana tarihi time() olarak kaydettiriyorum PHP de ,
Ama Yukar da ki sorgulardan bitanesi yazdığımda hata veriiyor sorun nedir acaba ?
Teşşekürler
kullanıcıdan alınan iki tarih arasındaki kayıtları nasıl seçebilirim ?
ben bilgilere giremedimnereden giremedim
kardeş çok teşekkür ederim böyle sql sorgular arıyordum sayende buldum. reklamlarına 1 kez tıkladım
evet o şekilde çekeceksin ve tarih formatında kaydedeceksin.
yıl-ay-gun saat:dakika:saniye
gibi yani
merhaba peki tarihi veri tabanında date olarakmı seçicez. Ek olarak veri tabanına hangi formatta kaydedicez. Bunları söylerseniz sevinirim.
Evet çalışmada bazı sorunlar çıkıyo ama genel olarak bu fonksiyonlarla dene yanıl şeklinde istediğiniz zaman diliminin seçimini çok kolay yapabiliyosunuz
Örneğin dünü seçmek istenildiğinde
DATE_SUB(CURDATE(), INTERVAL 1 HOUR)
Teşekkürler deneyeceğim