Cara menggunakan mysql 5 datediff
Tutorial Belajar MySQL Part 15: Tipe Data Date (Tanggal) dalam MySQL
20 Oct 12 | | Tutorial MySQL | | Jika pada tutorial sebelumnya kita mempelajari Tipe Data Numerik MySQL dan Tipe Data Huruf (String) MySQL, tipe data selanjutnya yang tersedia dalam MySQL adalah tipe data date (tanggal), tipe data ini digunakan untuk menyimpan data yang berkaitan dengan tanggal dan waktu. Tipe data date, terdiri dari: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR. Dalam tutorial kali ini kita akan membahas secara lebih detail tentang tipe data date (tanggal) di dalam MySQL. Jenis tipe data DATE dalam MySQLMySQL memiliki beberapa format untuk tipe data date. Format tipe data date tersebut adalah: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR. Perbedaan dari tipe-tipe tersebut terletak pada format penyimpanan data. Untuk lebih lengkapnya dapat dilihat dari tabel dibawah ini:
MySQL menyediakan beberapa format yang dapat digunakan untuk input tipe data tanggal, masing masing untuk tipe data yang bersesuaian.
Jika MySQL tidak dapat membaca format, atau data tidak tersedia, maka data akan diisi sesuai dengan nilai pada Zero Value. Contoh query untuk membuat tabel dengan data DATE: mysql> CREATE TABLE contoh_date (dat DATE, tim TIME, dattim DATETIME, timestam TIMESTAMP, yea YEAR); Query OK, 0 rows affected (0.06 sec) mysql> DESCRIBE contoh_date; +----------+-----------+------+-----+-------------------+-----------------------------+ | Field | Type | Null | Key | Default | Extra | +----------+-----------+------+-----+-------------------+-----------------------------+ | dat | date | YES | | NULL | | | tim | time | YES | | NULL | | | dattim | datetime | YES | | NULL | | | timestam | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP | | yea | year(4) | YES | | NULL | | +----------+-----------+------+-----+-------------------+-----------------------------+ 5 rows in set (0.01 sec) Perhatikan pada saat mendefinisikan tipe data YEAR, pada query DESCRIBE kita dapat melihat bahwa MySQL memberikan nilai YEAR(4) sebagai nilai default. Kita dapat secara langsung mendefinisikan YEAR(2) jika menginginkan data tahun dengan 2 digit, namun hal ini tidak disarankan, karena dengan mendefinisikan tahun 26, akan menjadi ambigu, apakah itu tahun 1926 atau 2026, walaupun MySQL memiliki aturan akan mengkonversinya menjadi 2026. MySQL menyediakan fungsi NOW() untuk memberikan tanggal server pada saat ini, dan kita akan menggunakannya sebagai nilai tiap kolom pada tabel contoh_date: mysql> INSERT INTO contoh_date values (NOW(),NOW(),NOW(),NOW(),'2012'); Query OK, 1 row affected, 1 warning (0.05 sec) mysql> SELECT * FROM contoh_date; +------------+----------+---------------------+---------------------+------+ | dat | tim | dattim | timestam | yea | +------------+----------+---------------------+---------------------+------+ | 2012-10-20 | 19:40:45 | 2012-10-20 19:40:45 | 2012-10-20 19:40:45 | 2012 | +------------+----------+---------------------+---------------------+------+ 1 row in set (0.00 sec) Khusus untuk tipe data YEAR, fungsi NOW() akan menghasilkan error, oleh karenanya, pada contoh diatas saya menginput manual ‘2012’ untuk kolom YEAR. Tipe data date dalam MySQL bukanlah tipe data dasar, akan tetapi penggunaannya sangat umum dan sering sehingga MySQL menyediakan tipe data tanggal secara bawaan. Dalam tutorial belajar MySQL selanjutnya, kita akan membahas tentang tipe data bentukan MySQL: enum dan set, serta perbedaan keduanya. |