MySQL Bekerja Dengan Tanggal
Tanggal MySQL
Bagian tersulit saat bekerja dengan tanggal adalah memastikan bahwa format tanggal yang Anda coba masukkan, cocok dengan format kolom tanggal dalam database.
Selama data Anda hanya berisi bagian tanggal, kueri Anda akan berfungsi seperti yang diharapkan. Namun, jika ada porsi waktu yang terlibat, itu menjadi lebih rumit.
Tipe Data Tanggal MySQL
MySQL hadir dengan tipe data berikut untuk menyimpan tanggal atau nilai tanggal/waktu dalam database:
-
DATE
- format YYYY-MM-DD -
DATETIME
- format: YYYY-MM-DD HH:MI:SS TIMESTAMP
- format: YYYY-MM-DD HH:MI:SS-
YEAR
- format YYYY atau YY
Catatan: Tipe data tanggal diatur untuk kolom saat Anda membuat tabel baru di database Anda!
Bekerja dengan Tanggal
Perhatikan tabel berikut ini:
Tabel Pesanan
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
2 | Camembert Pierrot | 2008-11-09 |
3 | Mozzarella di Giovanni | 2008-11-11 |
4 | Mascarpone Fabioli | 2008-10-29 |
Sekarang kita ingin memilih record dengan OrderDate "2008-11-11" dari tabel di atas.
Kami menggunakan SELECT
pernyataan berikut:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
Hasil-set akan terlihat seperti ini:
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 |
3 | Mozzarella di Giovanni | 2008-11-11 |
Catatan: Dua tanggal dapat dengan mudah dibandingkan jika tidak ada komponen waktu yang terlibat!
Sekarang, asumsikan bahwa tabel "Pesanan" terlihat seperti ini (perhatikan komponen waktu yang ditambahkan di kolom "TanggalPesanan"):
OrderId | ProductName | OrderDate |
---|---|---|
1 | Geitost | 2008-11-11 13:23:44 |
2 | Camembert Pierrot | 2008-11-09 15:45:21 |
3 | Mozzarella di Giovanni | 2008-11-11 11:12:01 |
4 | Mascarpone Fabioli | 2008-10-29 14:56:59 |
Jika kita menggunakan SELECT
pernyataan yang sama seperti di atas:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
kita tidak akan mendapatkan hasil! Ini karena kueri hanya mencari tanggal tanpa porsi waktu.
Tip: Agar kueri Anda tetap sederhana dan mudah dirawat, jangan gunakan komponen waktu di tanggal Anda, kecuali jika Anda harus melakukannya!