Merhaba arkadaşlar,
Bir yanlışlık yapmam nedeniyle tarihe göre sıralamada sorun yaşıyorum. Ben en son kayıttan eskiye doğru sırala diyorum yani. order by tarih ASC gibisinden.
Lakin tarihi yanlışlık ile veritabanına gün-ay-yıl olarak kayıt etmişim ve düzeltemem. yıl-ay-gün olarak kayıt edilmesi lazımdı stabilite ve genel anlamda olması için. Lakin bu şekilde yaptığımda tarihi düzgün sıralamıyor. Nasıl toparlayabilirim ?
strtotime kullanarak vesaire ?
MYSQL -> Order BY Tarih hakkında
7
●775
- 15-07-2014, 18:42:52Üyeliği durdurulduveri tabanındaki bölümü date(0000-00-00) şeklinde yapıp ASC ve DESC ile sıralayabilirsin.
- 15-07-2014, 21:03:47Hocam bu şekilde yapınca var olan tarihler 0000-00-00 oluyor.GlobalYazilim adlı üyeden alıntı: mesajı görüntüle
- 16-07-2014, 03:58:19bende diğer arkadaşlar gibi en sağlıklı olan tüm tarihleri bir while döngüsüyle yıl-ay-gün olarak kaydetmenizi ve tarih kolonunuzu date tipinde tutmanızı önereceğim.
ama ek olarak denemedim çalışırmı çalışmazmı bilemiyorum ama aşağıdaki gibi bir dener misiniz ?
tarih formatınızın gün-ay-yıl olduğunu (aralarda tire) varsayalım
select tarih, STR_TO_DATE(tarih,'%d-%m-%Y') as tarih_eng order by DATE_FORMAT(tarih_eng,'%Y-%m-%d') Asc
bu sorguda önce sizin formatınızı date tipine çevirdik tarih_eng olarak tanımladık sonrada order by içinde global (yıl-ay-gün) formatına çevirip öyle sıralattık.