Tutorial SQL

SQL RUMAH Pengenalan SQL Sintaks SQL Pilih SQL SQL Pilih Berbeda SQL Dimana SQL Dan, Atau, Tidak Perintah SQL Oleh SQL Sisipkan Ke Nilai Null SQL Pembaruan SQL Hapus SQL SQL Pilih Atas SQL Min dan Maks Hitung SQL, Rata-Rata, Jumlah SQL Suka SQL Wildcard SQL In SQL Antara SQL Alias SQL Bergabung Gabung Dalam SQL SQL Kiri Gabung SQL Benar Bergabung Gabung Penuh SQL SQL Self Gabung SQL Union Grup SQL Oleh SQL Memiliki SQL Ada SQL Apa saja, Semua SQL Pilih Ke Sisipkan SQL Ke Pilih Kasus SQL Fungsi SQL Null Prosedur Tersimpan SQL Komentar SQL Operator SQL

Basis Data SQL

SQL Buat DB SQL Drop DB SQL Cadangan DB SQL Buat Tabel Tabel Jatuhkan SQL Tabel Ubah SQL Batasan SQL SQL Bukan Null SQL Unik Kunci Utama SQL Kunci Asing SQL Pemeriksaan SQL SQL Default Indeks SQL Peningkatan Otomatis SQL Tanggal SQL Tampilan SQL Injeksi SQL SQL Hosting Tipe Data SQL

Referensi SQL

Kata Kunci SQL Fungsi MySQL Fungsi SQL Server Fungsi Akses MS Referensi Cepat SQL

Contoh SQL

Contoh SQL Kuis SQL Latihan SQL Sertifikat SQL

SQL Bekerja Dengan Tanggal


Tanggal SQL

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 SQL

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

SQL Server dilengkapi 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
  • SMALLDATETIME- format: YYYY-MM-DD HH:MI:SS
  • TIMESTAMP- format: nomor unik

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


SQL 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 SELECTpernyataan 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 SELECTpernyataan 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!