SQL Dates - TeachMeSoft

SQL Dates










Tanggal SQL

Bagian tersulit saat bekerja dengan tanggal adalah memastikan bahwa format tanggal yang Anda coba sisipkan, cocok dengan format kolom tanggal dalam database.

Selama data Anda hanya berisi bagian tanggal, kueri Anda akan berfungsi seperti yang diharapkan. Namun, jika melibatkan porsi waktu, itu menjadi lebih rumit.


Tipe Data Tanggal SQL

MySQL hadir dengan tipe data berikut untuk menyimpan tanggal atau nilai tanggal / waktu dalam database:

  • TANGGAL - format YYYY-MM-DD
  • DATETIME - format: YYYY-MM-DD HH: MI: SS
  • TIMESTAMP - format: TTTT-BB-HH JJ: MI: SS
  • TAHUN - format YYYY atau YY

SQL Server dilengkapi dengan tipe data berikut untuk menyimpan tanggal atau nilai tanggal / waktu dalam database:

  • TANGGAL - format YYYY-MM-DD
  • DATETIME - format: YYYY-MM-DD HH: MI: SS
  • SMALLDATETIME - format: YYYY-MM-DD JJ: MI: SS
  • TIMESTAMP - format: nomor unik

Catatan: Tipe tanggal dipilih untuk kolom saat Anda membuat tabel baru di database Anda!


SQL Bekerja dengan Tanggal

Anda dapat membandingkan dua tanggal dengan mudah jika tidak ada komponen waktu yang terlibat!

Asumsikan kita memiliki tabel "Pesanan" berikut:

OrderIdProductNameOrderDate
1Geitost2008-11-11
2Camembert Pierrot2008-11-09
3Mozzarella di Giovanni2008-11-11
4Mascarpone Fabioli2008-10-29

Sekarang kita ingin memilih record dengan OrderDate "2008-11-11" dari tabel di atas.

Kami menggunakan pernyataan SELECT berikut:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

Kumpulan hasil akan terlihat seperti ini:

OrderIdProductNameOrderDate
1Geitost2008-11-11
3Mozzarella di Giovanni2008-11-11

Sekarang, asumsikan bahwa tabel "Pesanan" terlihat seperti ini (perhatikan komponen waktu di kolom "TanggalPesanan"):

OrderIdProductNameOrderDate
1Geitost2008-11-11 13:23:44
2Camembert Pierrot2008-11-09 15:45:21
3Mozzarella di Giovanni2008-11-11 11:12:01
4Mascarpone Fabioli2008-10-29 14:56:59

Jika kita menggunakan pernyataan SELECT yang sama seperti di atas:

SELECT * FROM Orders WHERE OrderDate='2008-11-11'

kami tidak akan mendapatkan hasil! Ini karena kueri hanya mencari tanggal tanpa bagian waktu.

Tip: Agar kueri Anda tetap sederhana dan mudah dikelola, jangan izinkan komponen waktu dalam tanggal Anda!




















Disqus comments