Tipe data Char dan Varchar sama-sama digunakan untuk menyimpan data teks/string. Perbedaan mendasar antara Char dan Varchar terletak pada panjang data.
Tipe Data CHAR merupakan Tipe Data yang panjangnya tetap. Misalnya jika kita mendeklarasikan mendeklarasikan variabel/kolom dengan tipe data CHAR (10), maka akan selalu tersimpan dengan ukuran 10 byte meskipun data tersebut hanya berisi 1 karakter saja.
Sementara tipe data VARCHAR panjangnya bervariasi tergantung data yang diinputkan. Misalnya jika kita mendeklarasikan variabel/kolom VARCHAR (10), jika kita input data dengan 1 karakter maka disimpad dengan 1 byte, 2 karakter dengan 2 byte dan seterusnya dengan maksimal 10 karakter disimpan dalam 10 byte.
Contoh query berikut untuk meperjelas perbedaan tersebut:
DECLARE @FirstName Char(20) = 'Rani',
@LastName Char(20) = 'Irsan'
SELECT @FirstName + ' ' + @LastName AS Name,
len(@FirstName + ' ' + @LastName) AS Length
SELECT @FirstName + ' ' + @LastName + '#' AS Name,
len(@FirstName + ' ' + @LastName) AS Length
Terlihat jika pada data gabungan CHAR akan ikut membawa spasi sejumlah ukuran tipe data. Kecuali jika letaknya paling kanan (akhir).
Mari kita bedakan jika tipe datanya diganti menjadi VARCHAR.
@LastName VARCHAR(20) = 'Irsan'
SELECT @FirstName + ' ' + @LastName AS Name,
len(@FirstName + ' ' + @LastName) AS Length
SELECT @FirstName + ' ' + @LastName + '#' AS Name,
len(@FirstName + ' ' + @LastName) AS Length
0 Comments