Tutorial Belajar MySQL Part 15: Tipe Data Date (Tanggal) dalam MySQL

Posted on

Kalau di panduan sebelumnya kita mempelajari Tipe Data Numerik MySQL dan Tipe Data Huruf (String) MySQL, tipe data berikutnya yang terdapat pada MySQL yakni tipe data date (tanggal), tipe data ini digunakan bagi menyimpan data yang berkaitan dengan tanggal dan waktu. Tipe data date, terdiri dari: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR.

Pada panduan kali ini kita akan membahas secara lebih detail mengenai tipe data date (tanggal) di dalam MySQL.


Jenis tipe data DATE pada MySQL

MySQL mempunyai beberapa format bagi tipe data date. Format tipe data date tersebut yakni: DATE, TIME, DATETIME, TIMESTAMP, dan YEAR. Perbedaan dari tipe-tipe tersebut terletak di format penyimpanan data. Bagi lebih lengkapnya dapat dilihat dari tabel dibawah ini:

Tipe Data Jangkauan Ukuran Zero Value
DATE ‘1000-01-01’ to ‘9999-12-31’ 3 byte ‘0000-00-00’
DATETIME ‘1000-’01-01 00:00:01’ to ‘9999-12-31 23:59:59’ 8 byte ‘0000-00-00 00:00:00’
TIMESTAMP ‘1970-01-01 00:00:00’ to ‘2038-01-18 22:14:07’ 4 byte ‘0000-00-00 00:00:00’
TIME ‘–838:59:59’ to ‘838:59:58’ 3 byte ‘00:00:00’
YEAR(2) 00 to 99 1 byte ‘00’
YEAR(4) 1901 to 2155 1 byte ‘0000’

MySQL menyediakan beberapa format yang dapat digunakan bagi input tipe data tanggal, masing masing bagi tipe data yang bersesuaian.

Tipe Data Fomat Input
DATETIME ‘CCYY-MM-DD hh:mm:ss’
TIMESTAMP ‘YY-MM-DD hh:mm:ss’
‘CCYYMMDDhhmmss’
‘YYMMDDhhmmss’
CCYYMMDDhhmmss
YYMMDDhhmmss
DATE ‘CCYY-MM-DD’
‘YY-MM-DD’
‘CCYYMMDD’
‘YYMMDD’
CCYYMMDD
YYMMDD
TIME ‘hh:mm:ss’
‘hhmmss’
hhmmss
YEAR ‘CCYY’
‘YY’
CCYY
YY

  • CCYY : input bagi tahun, dimana YY berupa tahun 2 digit, seperti 98, 78, dan 00, sedangkan bagi CCYY yakni tahun dengan 4 digit, seperti 2001, 1987, 2012. Bagi tahun dengan 2 digit, MySQL mengkonversinya dengan aturan 70-99 menjadi 1970-1999 dan 00-69 menjadi 2000-2069.

  • MM: bulan pada format dua digit, seperti 05,07,dan 12.

  • DD: tanggal pada format dua digit, seperti 14, 06 dan 30.

  • hh: jam pada format 2 digit, seperti 06,09, dan 12.

  • mm: menit, pada format 2 digit, seperti 15, 45, dan 59.

  • ss: detik, pada format 2 digit, seperti 10, 40, dan 57.

Kalau MySQL tak dapat membaca format, atau data tak terdapat, karenanya data akan diisi sesuai dengan nilai di Zero Value.

Contoh query bagi merancang tabel dengan data DATE:

Perhatikan di ketika mendefinisikan tipe data YEAR, di query DESCRIBE kita dapat melihat bahwa MySQL memberikan nilai YEAR(4) selaku nilai default. Kita dapat secara seketika mendefinisikan YEAR(2) apabila menginginkan data tahun dengan 2 digit, namun hal ini tak disarankan, karena dengan mendefinisikan tahun 26, akan menjadi ambigu, apakah itu ta
hun 1926 atau 2026, walaupun MySQL mempunyai aturan akan mengkonversinya menjadi 2026.

MySQL menyediakan kegunaan NOW() bagi memberikan tanggal server di ketika ini, dan kita akan menggunakannya selaku nilai tiap kolom di tabel contoh_date:

Khusus bagi tipe data YEAR, kegunaan NOW() akan menghasilkan error, oleh karenanya, di contoh diatas saya menginput manual ‘2012’ bagi kolom YEAR.


Tipe data date dalam MySQL bukanlah tipe data basic, akan tetapi penggunaannya benar-benar umum dan sering sehingga MySQL menyediakan tipe data tanggal secara bawaan. Pada panduan belajar MySQL berikutnya, kita akan membahas mengenai tipe data bentukan MySQL: enum dan set, serta perbedaan keduanya.


Sumber https://www.duniailkom.com/