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);