Keduanya adalah tipe data dalam banyak bahasa pemrograman dan sistem basis data di mana 'char' mengacu pada karakter dan 'varchar' mengacu pada karakter variabel. Char di C mewakili tipe karakter yang digunakan untuk menyimpan nilai string, sebagian besar karakter dan integer yang dikodekan UTF-8. Varchar, di sisi lain, adalah tipe data yang dapat berisi data dari semua jenis panjang tak tentu. Varchar merujuk pada tipe data bidang dalam sistem manajemen basis data. Meskipun keduanya dapat menyimpan nilai string hingga panjang maksimum 8.000 karakter, char membutuhkan lebih banyak penyimpanan daripada varchar. Secara teknis, keduanya digunakan untuk menyimpan tipe data yang sama tetapi mereka berbeda dalam cara mereka disimpan dan diambil. Mari kita lihat perbedaan mereka secara mendetail.
Char adalah tipe data panjang tetap yang digunakan untuk menyimpan karakter non-Unicode, karenanya namanya (kependekan dari karakter). Ini menempati satu byte ruang untuk setiap karakter yang dikodekan sebagai angka - yang dari pengkodean ASCII. Tipe char juga dapat digunakan untuk mendeklarasikan integer kecil. Untuk mendeklarasikan variabel karakter, kata kunci 'char' digunakan, yang berarti satu karakter disimpan dalam satu byte.
Seperti tipe integer, char dapat ditandatangani atau tidak ditandatangani. Ia dapat menyimpan nilai char yang ditandatangani mulai dari -128 hingga 127 dan tergantung pada ukuran arsitekturalnya, ia juga bisa tidak ditandatangani, menyimpan nilai mulai dari 0 hingga 255. Ketika nilai char disimpan, mereka diisi dengan benar dengan spasi hingga panjang yang ditentukan. . Ruang-ruang tambahan dihapus saat diambil.
Misalnya - jika Anda mendeklarasikan variabel tipe data char (7), maka itu akan selalu mengambil 7 byte data terlepas dari apakah Anda menyimpan 1 karakter atau 7 karakter, yang berarti Anda dapat menyimpan maksimum 7 karakter di kolom.
Varchar, seperti namanya, adalah tipe data panjang variabel yang dapat berisi semua jenis data dengan panjang bervariasi dari 0 hingga 65.535. Bidang Varchar dapat menyimpan nilai ukuran apa pun hingga batas tertentu, tergantung pada database. Itu dapat didefinisikan baik dalam bahasa pemrograman atau pada tingkat basis data. Ukuran bidang varchar dapat berupa apa saja dari nol hingga panjang bidang maksimum yang dinyatakan.
Untuk mendeklarasikan karakter variabel, kata kunci 'varchar' digunakan. Varchar mengambil ruang variabel, yang berarti hanya akan menggunakan jumlah byte yang sama dengan jumlah karakter. Ini membantu dalam menghindari pemborosan ruang karena hanya memanfaatkan ruang yang dibutuhkan untuk ukuran tali. Dalam beberapa bahasa pemrograman dan sistem basis data, setiap ruang tambahan akan dihapus secara otomatis dari basis data.
Misalnya - jika Anda mendeklarasikan variabel varchar (10), ia akan menggunakan jumlah byte yang sama dengan jumlah karakter. Jadi, jika Anda menyimpan hanya satu karakter, maka itu hanya akan memakan satu byte dan jika Anda menyimpan 10 karakter, itu akan membutuhkan 10 byte, sehingga menghindari pemborosan ruang basis data.
'Char' adalah tipe data panjang tetap yang digunakan untuk menyimpan nilai string karakter dari panjang tetap, sedangkan 'Varchar' adalah tipe data panjang variabel yang digunakan untuk menyimpan panjang variabel data alfanumerik.
Ukuran penyimpanan nilai karakter sama dengan ukuran maksimum kolom ini yang Anda nyatakan saat membuat tabel. Di sisi lain, ukuran penyimpanan dari nilai varchar adalah panjang sebenarnya dari data yang dimasukkan, bukan ukuran maksimum untuk kolom ini.
Anda dapat menggunakan char ketika entri data dalam kolom diharapkan memiliki ukuran yang sama, sedangkan sebaliknya, varchar dapat digunakan ketika entri data dalam kolom diharapkan memiliki ukuran yang bervariasi..
Char menggunakan alokasi memori statis, sementara varchar menggunakan alokasi memori dinamis
Panjang variabel char bisa dari nilai 0 hingga 255, sedangkan panjang variabel varchar berkisar dari 0 hingga 65.535.
Entri data konsisten dalam karakter yang digunakan untuk menyimpan data seperti nomor telepon, sedangkan varchar digunakan untuk menyimpan berbagai data seperti alamat.
Arang | Varchar |
Digunakan untuk menyimpan nilai string karakter dengan panjang tetap. | Digunakan untuk menyimpan data alfanumerik dengan panjang variabel. |
Panjangnya bervariasi dari 0 hingga 255. | Panjangnya bervariasi dari 0 hingga 65.535. |
Membutuhkan 1 byte per karakter untuk penyimpanan. | Membutuhkan 1 byte per karakter ditambah 1 atau 2 byte ekstra untuk menyimpan informasi panjang. |
Ukuran penyimpanan char sama dengan yang dinyatakan. | Ukuran penyimpanan varchar tergantung pada string spesifik yang disimpan. |
Menggunakan alokasi memori statis. | Menggunakan alokasi memori dinamis. |
Char harus digunakan ketika panjang variabel diketahui. | Varchar harus digunakan hanya ketika panjang variabel tidak diketahui. |
Itu hanya menerima karakter. | Ia menerima karakter dan angka. |
Ini 50 persen lebih cepat dari Varchar. | Ini lebih lambat dari Char. |
Ukuran penyimpanan nilai char sama dengan ukuran maksimum untuk kolom. | Ukuran penyimpanan nilai varchar sama dengan panjang sebenarnya dari data yang dimasukkan, bukan ukuran maksimum untuk kolom. |