MySQL Doğum Tarihinden Yaş Hesaplama

Yaş hesaplamalarını genellikle programlama dili aracılığı ile yaparız ancak MySQL’de yaş ile ilgili sınırlamalar veya detaylı sorgular yazmak isteyebiliriz. Bunu programlama dilleriyle sağlamamız zor olabilir. Bunun yerine birkaç pratik fonksiyon kullanarak kolay bir şekilde doğum tarihinden yaş hesaplaması yapabiliriz.

Veritabanımızda isim ve dogum_tarihi (type: DATE) olarak 2 sütun olduğunu düşünelim ve tablomuzun adı kullanicilar olsun.

 – Öncelikle doğum tarihi sütunundan kullanıcının yaşını hesaplayalım. Bunun için aşağıda kullanabileceğimiz fonksiyonlar bulunmaktadır. İşlevleri aynıdır.

  • TIMESTAMPDIFF(YEAR, dogum_tarihi, CURDATE())
  • YEAR(DATE_SUB(NOW(), INTERVAL TO_DAYS(dogum_tarihi) DAY))
  • FLOOR(DATEDIFF(CURDATE(), dogum_tarihi) / 365

 Yukarıdakilerden birini sorgularımıza kolaylıkla dahil edebiliriz. Bununla ilgili farklı örnekler yapabiliriz. Ben örneklerde 1. fonksiyonu kullanacağım.

– Kullanıcıların adını, doğum tarihini ve yaşını listeleyelim;

– Sadece 18 yaşının üzerindeki kullanıcıları listeleyelim;

– Tabloyu yaşlara göre gruplayalım ve hangi yaş grubunda kaç kullanici olduğunu listeleyelim;

 

Bir Cevap Yazın