Perbandingan menggunakan date dan varchar:
Menyimpan sebagai sebuah Date
• Sebuah mysql date membutuhkan 3 Bytes penyimpanan.
• Dapat menggunakan fungsi mysql untuk menghitung nilai-nilai secara langsung dalam query.
• Hanya akan menyimpan tanggal yang valid.
• Format dengan berbagai cara.
Menyimpan sebagai Varchar
• Sebuah string akan membutuhkan minimal 8 byte , atau 10 dengan pemisah.
• Tidak dapat memformat dengan mudah di sql.
• Harus memastikan tanggal benar-benar valid.
Kita dapat menghitung usia seseorang dalam query , menggunakan tanggal lahirnya. Misalnya kita membuat tabel seperti berikut:
Kemudian kita tambah datanya.
INSERT INTO user (name, birthdate) VALUES ('Fran', '1967-10-31');
INSERT INTO user (name, birthdate) VALUES ('Bill', '1964-05-07');
INSERT INTO user (name, birthdate) VALUES ('Jimmy', '1965-04-27');
INSERT INTO user (name, birthdate) VALUES ('Stacy', '2002-11-30');
INSERT INTO user (name, birthdate) VALUES ('George', '2007-10-25');
mysql> select * from user;
+----+--------+------------+
| id | name | birthdate |
+----+--------+------------+
| 1 | Fran | 1967-10-31 |
| 2 | Bill | 1964-05-07 |
| 3 | Jimmy | 1965-04-27 |
| 4 | Stacy | 2002-11-30 |
| 5 | George | 2007-10-25 |
+----+--------+------------+
5 rows in set (0.00 sec)
Berikut cara melihat umur nya sekarang.
mysql> select CURDATE();
+------------+
| CURDATE() |
+------------+
| 2013-31-12 |
+------------+
1 row in set (0.00 sec)
mysql> SELECT *, YEAR(CURDATE()) - YEAR(birthdate) AS age FROM user;
+----+--------+------------+------+
| id | name | birthdate | age |
+----+--------+------------+------+
| 1 | Fran | 1967-10-31 | 46 |
| 2 | Bill | 1964-05-07 | 49 |
| 3 | Jimmy | 1965-04-27 | 48 |
| 4 | Stacy | 2002-11-30 | 11 |
| 5 | George | 2007-10-25 | 6 |
+----+--------+------------+------+
5 rows in set (0.00 sec)
Contoh mencari umur dalam bentuk bulan.
mysql> select ((YEAR(CURDATE())-YEAR(birthdate))*12)+(MONTH(CURDATE())-MONTH(birthdate)) as umur from user;
kereen,, makasih bang
BalasHapusterima kasih juga atas kunjungannya.
Hapusanjir mantep gan.. thanks query2 kramat nya...
BalasHapusThankyou
BalasHapusmakasih gan..
BalasHapusternyata saya salah masukin format harusnya YEAR bukan DATE
hehehehe... :D
makasih gan,,
BalasHapuskeren querynya,,work ini..
Excellent. Thank you Sir.
BalasHapus