Fungsi Date SQL

Tanggal SQL

Ketika kita mengelola tanggal, tugas yang paling sulit mungkin adalah memastikan format tanggal yang diinput sesuai dengan format kolom tanggal di database.

Jika data hanya berisi bagian tanggal, eksekusi query tidak akan ada masalah. Namun, jika melibatkan waktu, situasi menjadi kompleks.

Sebelum mendiskusikan kompleksitas dari query tanggal, kita lihat terlebih dahulu fungsi pengolahan tanggal yang paling penting:

Fungsi Tanggal MySQL

Tabel di bawah ini menampilkan fungsi-tipe tanggal yang paling penting di MySQL:

Fungsi Deskripsi
NOW() Mengembalikan tanggal/waktu saat ini
CURDATE() Mengembalikan tanggal saat ini
CURTIME() Mengembalikan waktu saat ini
DATE() Mengambil bagian tanggal dari ekspresi tanggal atau tanggal/waktu
EXTRACT() Mengembalikan bagian tunggal tanggal/waktu
DATE_ADD() Menambahkan interval waktu yang ditentukan ke tanggal
DATE_SUB() Mengurangi interval waktu yang ditentukan dari tanggal
DATEDIFF() Mengembalikan jumlah hari antara dua tanggal
DATE_FORMAT() Menampilkan tanggal/waktu dengan format yang berbeda

Fungsi Tanggal SQL Server

Tabel di bawah ini menampilkan fungsi-tipe tanggal yang paling penting di SQL Server:

Fungsi Deskripsi
GETDATE() Mengembalikan tanggal/waktu saat ini
DATEPART() Mengembalikan bagian tunggal tanggal/waktu
DATEADD() Menambahkan atau mengurangi interval waktu yang ditentukan di tanggal
DATEDIFF() Mengembalikan waktu antara dua tanggal
CONVERT() Menampilkan tanggal/waktu dengan format yang berbeda

Tipe Data SQL Date

MySQL menggunakan tipe data berikut untuk menyimpan nilai tanggal atau tanggal/waktu di database:

  • DATE - Format YYYY-MM-DD
  • DATETIME - Format: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - Format: YYYY-MM-DD HH:MM:SS
  • YEAR - Format YYYY atau YY

SQL Server menggunakan tipe data berikut untuk menyimpan tanggal atau nilai tanggal/waktu di database:

  • DATE - Format YYYY-MM-DD
  • DATETIME - Format: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - Format: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - Format: Angka yang unik

Pengolahan Tanggal SQL

Jika tidak melibatkan bagian waktu, kita dapat membandingkan tanggal dengan mudah!

Assumekan kita memiliki tabel "Orders" seperti ini:

OrderId ProductName OrderDate
1 computer 2008-12-26
2 printer 2008-12-26
3 electrograph 2008-11-12
4 telephone 2008-10-19

Sekarang, kami ingin memilih rekaman yang mempunyai OrderDate "2008-12-26" dari tabel di atas.

Kami menggunakan pernyataan SELECT di bawah:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

Hasil Koleksi:

OrderId ProductName OrderDate
1 computer 2008-12-26
3 electrograph 2008-12-26

Assumekan "Orders" seperti ini (perhatikan bagian waktu di kolom "OrderDate"):

OrderId ProductName OrderDate
1 computer 2008-12-26 16:23:55
2 printer 2008-12-26 10:45:26
3 electrograph 2008-11-12 14:12:08
4 telephone 2008-10-19 12:56:10

Jika kami menggunakan pernyataan SELECT di atas:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

Kami tidak mendapatkan hasil. Ini disebabkan karena query tidak mengandung bagian waktu tanggal.

Pemberitahuan:Jika Anda ingin menjadikan query mudah dan mudah dipelihara, jangan gunakan bagian waktu di tanggal!