Search This Blog

Datetime dan Smalldatetime SQl Server

Pada tabel SQL Server kita dapat menggunakan tipe data datetime dan smalldatetime untuk menyimpan data waktu baik itu berupa data tanggal atau jam.

Apa perbedaan tipe data datetime dan smalldatetime ?

Perbedaan antara tipe data datetime dan smalldatetime adalah sebagai berikut:

1. Ukuran penyimpanan data pada tabel

Tipe data datetime disimpan pada tabel SQL Server sebagai dua 4-byte integer. 4 byte pertama menyimpan angka hari sebelum dan sesudah basis tanggal. Basis tanggal adalah referensi tanggal sistem. Nilai datetime sebelum tanggal 1 Januari 1753 tidak dizinkan. 4 byte lainnya menyimpan data waktu (jam:menit:detik:milidetik) dari hari. Sedangkan tipe data smalldatetime disimpan pada tabel SQL Server sebagai dua 2-byte integer. 2 byte pertama menyimpan angka hari setelah 1 Januari 1900. Dua byte lainnya menyimpan data menit.

2. Akurasi pembulatan data tanggal

  • Akurasi pembulatan tipe data datetime adalah 3.33 millisecconds.
    Contoh Pembulatan
    01/01/98 23:59:59.999 1998-01-02 00:00:00.000
    01/01/98 23:59:59.995,
    01/01/98 23:59:59.996,
    01/01/98 23:59:59.997, atau
    01/01/98 23:59:59.998
    1998-01-01 23:59:59.997
    01/01/98 23:59:59.992,
    01/01/98 23:59:59.993,
    01/01/98 23:59:59.994
    1998-01-01 23:59:59.993
    01/01/98 23:59:59.990 atau
    01/01/98 23:59:59.991
    1998-01-01 23:59:59.990
  • Akurasi pembulatan tipe data smalldatetime adalah ke menit terdekat. Nilai 29.998 seconds atau lebih kecil dibulatkan ke bawah ke menit terdekat; nilai 29.999 seconds atau lebih tinggi dibulatkan ke atas ke menit terdekat.
    Contoh Pembulatan
    2000-05-08 12:35:29.998 2000-05-08 12:35
    2000-05-08 12:35:29.999 2000-05-08 12:36

Jadi jika anda memerlukan penyimpanan data waktu dengan ketelitian yang tinggi anda harus menggunakan tipe data datetime pada tabel yang anda buat.

3. Range daya tampung penyimpanan data

  • Tipe data datetime mampu menampung data tanggal antara 1 Januari 1753 sampai dengan 31 Desember 9999
  • Tipe data smalldatetime mampu menampung data tanggal antara 1 Januari 1900 sampai dengan 6 Juni 2079

No comments: