Tanggal SQL
Bagian yang paling sulit ketika bekerja dengan tanggal adalah untuk memastikan bahwa format tanggal Anda mencoba untuk memasukkan, sesuai dengan format kolom tanggal dalam database.
Fungsi Tanggal MySQL
Tabel berikut berisi daftar built-in fungsi tanggal paling penting dalam MySQL:
Fungsi | Deskripsi |
---|---|
NOW() | Mengembalikan tanggal dan waktu |
CURDATE() | Mengembalikan tanggal |
CURTIME() | Mengembalikan waktu saat ini |
DATE() | Ekstrak tanggal bagian dari tanggal atau tanggal / waktu ekspresi |
EXTRACT() | Mengembalikan satu bagian dari tanggal / waktu |
DATE_ADD() | Menambahkan interval waktu yang ditentukan untuk kencan |
DATE_SUB() | Mengurangi interval waktu yang ditentukan dari tanggal |
DATEDIFF() | Mengembalikan jumlah hari antara dua tanggal |
DATE_FORMAT() | tanggal Menampilkan / data time dalam format yang berbeda |
SQL Server Fungsi Tanggal
Tabel berikut berisi daftar built-in fungsi tanggal paling penting dalam SQL Server:
Fungsi | Deskripsi |
---|---|
GETDATE() | Mengembalikan tanggal dan waktu |
DATEPART() | Mengembalikan satu bagian dari tanggal / waktu |
DATEADD() | Menambahkan atau mengurangi interval waktu yang ditentukan dari tanggal |
DATEDIFF() | Mengembalikan waktu antara dua tanggal |
CONVERT() | tanggal Menampilkan / data time dalam format yang berbeda |
Jenis Data SQL Tanggal
MySQL dilengkapi dengan jenis data berikut untuk menyimpan tanggal atau tanggal / nilai waktu dalam database:
- DATE - format YYYY-MM-DD
- DATETIME - Format: YYYY-MM-DD HH: MI: SS
- TIMESTAMP - Format: YYYY-MM-DD HH: MI: SS
- TAHUN - Format YYYY atau YY
SQL Server hadir dengan jenis data berikut untuk menyimpan tanggal atau tanggal / nilai 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
Note: Jenis tanggal yang dipilih untuk kolom ketika Anda membuat sebuah tabel baru dalam database Anda!
Untuk gambaran dari semua jenis data yang tersedia, pergi ke lengkap kami referensi Jenis Data .
SQL Bekerja dengan Tanggal
Anda dapat membandingkan dua tanggal dengan mudah jika tidak ada komponen waktu yang terlibat!
Anggaplah kita memiliki yang berikut "Orders" tabel:
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 catatan dengan OrderDate dari "2008-11-11" dari tabel di atas.
Kami menggunakan pernyataan SELECT 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 |
Sekarang, asumsikan bahwa "Orders" tabel terlihat seperti ini (perhatikan komponen waktu di "OrderDate" kolom):
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 pernyataan SELECT yang sama seperti di atas:
SELECT * FROM Orders WHERE OrderDate='2008-11-11'
kita tidak akan mendapatkan hasil! Hal ini karena permintaan yang hanya mencari tanggal tanpa porsi waktu.
Tip: Jika Anda ingin menyimpan pertanyaan Anda sederhana dan mudah untuk mempertahankan, tidak memungkinkan komponen waktu tanggal Anda di!