Tarihlerle İşlem
MySQL'deki veri türlerinden biri de
date türüdür. Tablo yaratırken kullanabileceğiniz bu veri türü üzerinden işlemler yapmanız gerekebilir.
Aşağıdakine benzer bir tablo yaratalım:
SQL Kodu
+----+-------+------------+
| id | isim | dogum_tar |
+----+-------+------------+
| 1 | Murat | 22-02-1984 |
+----+-------+------------+
# Tabloyu oluşturuyoruz...
CREATE TABLE uyeler (
id int(5) unsigned primary key not null auto_increment,
isim varchar(45),
dogum_tar date
);
# Veriyi giriyoruz...
INSERT INTO uyeler (isim, dogum_tar) VALUES("Murat", "1984-02-22");
Tarih formatı her zaman için YYYY-AA-GG (Y: Yıl, A: Ay, G: Gün) şeklinde yazılır. Bu kurala uymayan sorgular geçersiz kabul edilir.
Tarih Türüne Özel Koşullar
Üyeler arasından sadece 2. ayda doğmuş olanları almak isteyebiliriz. Bunun için MONTH() kullanılır:
SQL Kodu
SELECT * FROM uyeler WHERE MONTH(dogum_tar) = 2;
Belli bir yılda doğmuş olanlar için YEAR() kullanılır:
SQL Kodu
SELECT * FROM uyeler WHERE YEAR(dogum_tar) = 1984;
Ayın 22'sinde doğanları bulmak isteseydik:
SQL Kodu
SELECT * FROM uyeler WHERE DAYOFMONTH(dogum_tar) = 22;
MySQL'de CURRENT_DATE o andaki zamanı verir. Bunun üzerinden de işlem yapılabilir:
SQL Kodu
SELECT * FROM uyeler WHERE MONTH(dogum_tar) = MONTH(CURRENT_DATE);