Tipe Data SQL

Tipe data dan rentang yang digunakan di Microsoft Access, MySQL dan SQL Server.

Tipe Data Microsoft Access

Tipe Data Deskripsi Simpan
Text Untuk teks atau kombinasi teks dan angka. Maksimal 255 karakter.  
Memo

Memo digunakan untuk teks yang lebih banyak. Maksimal 65,536 karakter.

Keterangan: Memo field tidak dapat diurutkan. Namun, mereka dapat dicari.

 
Byte Memungkinkan bilangan antara 0 sampai 255. 1 byte
Integer Memungkinkan bilangan antara -32,768 sampai 32,767. 2 byte
Long Memungkinkan seluruh bilangan antara -2,147,483,648 dan 2,147,483,647. 4 byte
Single Satu desimal presisi tinggi. Menangani sebagian besar bilangan desimal. 4 byte
Double Dua desimal presisi tinggi. Menangani sebagian besar bilangan desimal. 8 byte
Currency

Untuk mata uang. Dukung 15 digit angka utama, ditambah 4 digit desimal.

Petunjuk: Anda dapat memilih mata uang negara mana yang akan digunakan.

8 byte
AutoNumber Bidang AutoNumber secara otomatis menyalurkan angka untuk setiap catatan, biasanya dimulai dari 1. 4 byte
Date/Time Untuk tanggal dan waktu 8 byte
Yes/No

Bidang logika, dapat ditampilkan sebagai Yes/No, True/False atau On/Off.

Pada kode, gunakan konstanta True dan False (setara dengan 1 dan 0)

Keterangan: Nilai Null tidak diizinkan di bidang Yes/No

1 bit
Ole Object Dapat menyimpan gambar, audio, video atau BLOBs (Binary Large OBjects) lainnya. Maksimal 1GB
Hyperlink Mengandung tautan ke berkas lain, termasuk halaman web.  
Lookup Wizard Memungkinkan Anda membuat daftar opsi yang dapat dipilih dari daftar berikut. 4 byte

Tipe Data MySQL

Di MySQL, ada tiga jenis utama: tipe teks, angka dan tipe tanggal/waktu.

Tipe Text:

Tipe Data Deskripsi
CHAR(ukuran) Simpan string panjang tetap (dapat mengandung huruf, angka serta karakter khusus). Tentukan panjang string di dalam kurung. Maksimal 255 karakter.
VARCHAR(ukuran)

Simpan string panjang yang berubah (dapat mengandung huruf, angka serta karakter khusus). Tentukan panjang maksimal string di dalam kurung. Maksimal 255 karakter.

Keterangan: Jika panjang nilai melebihi 255, maka akan diubah menjadi tipe TEXT.

TINYTEXT Menyimpan maksimal panjang 255 karakter string.
TEXT Menyimpan maksimal panjang 65,535 karakter string.
BLOB Dipergunakan untuk BLOBs (Binary Large OBjects). Menyimpan maksimal 65,535 byte data.
MEDIUMTEXT Menyimpan maksimal panjang 16,777,215 karakter string.
MEDIUMBLOB Dipergunakan untuk BLOBs (Binary Large OBjects). Menyimpan maksimal 16,777,215 byte data.
LONGTEXT Menyimpan maksimal panjang 4,294,967,295 karakter string.
LONGBLOB Dipergunakan untuk BLOBs (Binary Large OBjects). Menyimpan maksimal 4,294,967,295 byte data.
ENUM(x,y,z,etc.)

Memungkinkan Anda memasukkan daftar nilai yang mungkin. Dalam daftar ENUM dapat disi maksimal 65535 nilai. Jika nilai yang dimasukkan tidak ada di dalam daftar, maka nilai kosong akan disisahkan.

Keterangan: Nilai ini disimpan berdasarkan urutan yang Anda masukkan.

Dapat memasukkan nilai yang mungkin dalam format ini: ENUM('X','Y','Z')

SET Seperti ENUM, SET hanya dapat mengandung maksimal 64 item dalam daftar, tetapi SET dapat menyimpan lebih dari satu nilai.

Tipe Number:

Tipe Data Deskripsi
TINYINT(ukuran) -128 sampai 127 konvensional. 0 sampai 255 tak signed*. Batas maksimal digit ditentukan di dalam kurung.
SMALLINT(ukuran) -32768 sampai 32767 konvensional. 0 sampai 65535 tak signed*. Batas maksimal digit ditentukan di dalam kurung.
MEDIUMINT(ukuran) -8388608 sampai 8388607 konvensional. 0 sampai 16777215 tak signed*. Batas maksimal digit ditentukan di dalam kurung.
INT(ukuran) -2147483648 sampai 2147483647 konvensional. 0 sampai 4294967295 tak signed*. Batas maksimal digit ditentukan di dalam kurung.
BIGINT(ukuran) -9223372036854775808 sampai 9223372036854775807 konvensional. 0 sampai 18446744073709551615 tak signed*. Batas maksimal digit ditentukan di dalam kurung.
FLOAT(ukuran,d) Angka kecil dengan titik desimal yang mengambang. Batas maksimal digit ditentukan di dalam kurung. Batas maksimal digit di sebelah kanan titik desimal ditentukan di parameter d.
DOUBLE(ukuran,d) Bilangan besar dengan titik desimal yang bergerak. Tentukan jumlah digit maksimal dalam kurung. Tentukan jumlah digit maksimal di sebelah kanan titik desimal dalam parameter d.
DECIMAL(ukuran,d) Tipe DOUBLE disimpan sebagai string, memungkinkan titik desimal yang tetap.

*Tipe integer ini memiliki opsi ekstra UNSIGNED. Biasanya, integer dapat berupa negatif atau positif. Jika ditambahkan atribut UNSIGNED, rentangnya akan mulai dari 0, bukannya bilangan negatif.

Tipe Date:

Tipe Data Deskripsi
DATE()

Tanggal. Format: YYYY-MM-DD

Keterangan: Rentang yang didukung adalah dari '1000-01-01' sampai '9999-12-31'

DATETIME()

*Kombinasi tanggal dan waktu. Format: YYYY-MM-DD HH:MM:SS

Keterangan: Rentang yang didukung adalah dari '1000-01-01 00:00:00' sampai '9999-12-31 23:59:59'

TIMESTAMP()

*Tanda Waktu. Nilai TIMESTAMP menggunakan deskripsi dari era Unix ('1970-01-01 00:00:00' UTC) hingga sekarang. Format: YYYY-MM-DD HH:MM:SS

Keterangan: Rentang yang didukung adalah dari '1970-01-01 00:00:01' UTC sampai '2038-01-09 03:14:07' UTC

TIME()

Waktu. Format: HH:MM:SS

Keterangan: Rentang yang didukung adalah dari '-838:59:59' sampai '838:59:59'

YEAR()

Tahun dalam format 2 digit atau 4 digit.

Keterangan: Nilai yang diizinkan untuk format 4 digit: 1901 sampai 2155. Nilai yang diizinkan untuk format 2 digit: 70 sampai 69, yang mengindikasikan dari 1970 sampai 2069.

* Meskipun DATETIME dan TIMESTAMP mengembalikan format yang sama, cara kerjanya sangat berbeda. Pada query INSERT atau UPDATE, TIMESTAMP secara otomatis mengatur dirinya sendiri menjadi tanggal dan waktu saat ini. TIMESTAMP juga menerima format yang berbeda, seperti YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD.

Tipe data SQL Server

String karakter: Character

Tipe Data Deskripsi Simpan
char(n) String panjang tetap. Maksimal 8,000 karakter. n
varchar(n) String panjang yang berubah. Maksimal 8,000 karakter.  
varchar(max) String panjang yang berubah. Maksimal 1,073,741,824 karakter.  
text String panjang yang berubah. Maksimal 2GB data karakter.  

String Unicode:

Tipe Data Deskripsi Simpan
nchar(n) Data Unicode dengan panjang tetap. Maksimal 4,000 karakter.  
nvarchar(n) Data Unicode dengan panjang variabel. Maksimal 4,000 karakter.  
nvarchar(max) Data Unicode dengan panjang variabel. Maksimal 536,870,912 karakter.  
ntext Data Unicode dengan panjang variabel. Maksimal 2GB karakter data.  

Tipe Binary:

Tipe Data Deskripsi Simpan
bit Diperbolehkan 0, 1, atau NULL  
binary(n) Data biner dengan panjang tetap. Maksimal 8,000 byte.  
varbinary(n) Data biner dengan panjang variabel. Maksimal 8,000 byte.  
varbinary(max) Data biner dengan panjang variabel. Maksimal 2GB byte.  
image Data biner dengan panjang variabel. Maksimal 2GB.  

Tipe Number:

Tipe Data Deskripsi Simpan
tinyint Diperbolehkan semua angka yang berada diantara 0 sampai 255. 1 byte
smallint Diperbolehkan semua angka yang berada diantara -32,768 sampai 32,767. 2 byte
int Diperbolehkan semua angka yang berada diantara -2,147,483,648 sampai 2,147,483,647. 4 byte
bigint Diperbolehkan semua angka yang berada diantara -9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807. 8 byte
decimal(p,s)

Angka dengan presisi tetap dan proporsi. Diperbolehkan angka dari -10^38 +1 sampai 10^38 -1.

Parameter p menunjukkan jumlah digit maksimal yang dapat disimpan (pada kiri dan kanan titik desimal). p harus berada di antara nilai 1 sampai 38. Nilai default adalah 18.

Parameter s menunjukkan jumlah digit maksimal di sebelah kanan titik desimal. s harus berada di antara nilai 0 sampai p. Nilai default adalah 0.

5-17 byte
numeric(p,s)

Angka dengan presisi tetap dan proporsi. Diperbolehkan angka dari -10^38 +1 sampai 10^38 -1.

Parameter p menunjukkan jumlah digit maksimal yang dapat disimpan (pada kiri dan kanan titik desimal). p harus berada di antara nilai 1 sampai 38. Nilai default adalah 18.

Parameter s menunjukkan jumlah digit maksimal di sebelah kanan titik desimal. s harus berada di antara nilai 0 sampai p. Nilai default adalah 0.

5-17 byte
smallmoney Data uang yang berada diantara -214,748.3648 dan 214,748.3647. 4 byte
money Data uang yang berada diantara -922,337,203,685,477.5808 dan 922,337,203,685,477.5807. 8 byte
float(n)

Bilangan desimal dengan presisi floating-point dari -1.79E + 308 sampai 1.79E + 308.

Parameter n menunjukkan apakah bidang ini menyimpan 4 byte atau 8 byte. float(24) menyimpan 4 byte, sementara float(53) menyimpan 8 byte. Nilai default n adalah 53.

4 atau 8 byte
real Angka floating-point dengan presisi floating-point dari -3.40E + 38 sampai 3.40E + 38. 4 byte

Tipe Date:

Tipe Data Deskripsi Simpan
datetime Dari 1 Januari 1753 hingga 31 Desember 9999, akurasi 3.33 milisecond. 8 byte
datetime2 Dari 1 Januari 1753 hingga 31 Desember 9999, akurasi 100 nanosecond. 6-8 byte
smalldatetime Dari 1 Januari 1900 hingga 6 Juni 2079, akurasi 1 menit. 4 byte
date Hanya menyimpan tanggal. Dari 1 Januari 0001 hingga 31 Desember 9999. 3 byte
time Hanya menyimpan waktu. Akurasi 100 nanosecond. 3-5 byte
datetimeoffset Sama seperti datetime2, ditambah offset wilayah waktu. 8-10 byte
timestamp Simpan angka unik, yang akan diupdate setiap kali baris dibuat atau diubah. Timestamp berdasarkan jam internal, tidak sejalan dengan waktu nyata. Setiap tabel hanya dapat memiliki satu variabel timestamp.  

Tipe Data Lainnya:

Tipe Data Deskripsi
sql_variant Simpan data berukuran maksimal 8,000 byte berbagai tipe data, kecuali text, ntext, dan timestamp.
uniqueidentifier Simpan identifikasi unik (GUID).
xml Simpan data yang diformatkan dalam XML. Maksimal 2GB.
cursor Simpan referensi pointer yang digunakan untuk operasi database.
table Simpan hasil kumpulan data, untuk pengolahan nanti.