Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jenis karakter
Tipe data karakter termasuk CHAR (karakter) dan VARCHAR (karakter bervariasi).
Penyimpanan dan rentang
Jenis data CHAR dan VARCHAR didefinisikan dalam hal byte, bukan karakter. Kolom CHAR hanya dapat berisi karakter single-byte, sehingga kolom CHAR (10) dapat berisi string dengan panjang maksimum 10 byte. VARCHAR dapat berisi karakter multibyte, hingga maksimal empat byte per karakter. Misalnya, kolom VARCHAR (12) dapat berisi 12 karakter single-byte, 6 karakter dua-byte, 4 karakter tiga byte, atau 3 karakter empat byte.
Nama | Penyimpanan | Rentang (lebar kolom) |
---|---|---|
CHAR atau KARAKTER | Panjang string, termasuk trailing blank (jika ada) | 4096 bita |
VARCHAR atau KARAKTER BERVARIASI | 4 byte+total byte untuk karakter, di mana setiap karakter dapat 1 sampai 4 byte. | 65535 byte (64K -1) |
Topik
CHAR atau KARAKTER
Gunakan kolom CHAR atau KARAKTER untuk menyimpan string dengan panjang tetap. String ini dilapisi dengan blanko, sehingga kolom CHAR (10) selalu menempati 10 byte penyimpanan.
char(10)
Kolom CHAR tanpa spesifikasi panjang menghasilkan kolom CHAR (1).
VARCHAR atau KARAKTER BERVARIASI
Gunakan kolom VARCHAR atau CHARACTER VARY untuk menyimpan string panjang variabel dengan batas tetap. String ini tidak dilapisi dengan blanko, sehingga kolom VARCHAR (120) terdiri dari maksimum 120 karakter single-byte, 60 karakter dua-byte, 40 karakter tiga byte, atau 30 karakter empat byte.
varchar(120)
Signifikansi trailing blanko
Baik tipe data CHAR dan VARCHAR menyimpan string hingga n byte panjangnya. Upaya untuk menyimpan string yang lebih panjang ke dalam kolom jenis ini menghasilkan kesalahan. Namun, jika karakter tambahan adalah semua spasi (kosong), string terpotong hingga panjang maksimum. Jika string lebih pendek dari panjang maksimum, nilai CHAR dilapisi dengan kosong, tetapi nilai VARCHAR menyimpan string tanpa kosong.
Trailing blank dalam nilai CHAR selalu tidak signifikan secara semantik. Mereka diabaikan ketika Anda membandingkan dua nilai CHAR, tidak termasuk dalam perhitungan PANJANG, dan dihapus saat Anda mengonversi nilai CHAR ke tipe string lain.
Spasi trailing dalam nilai VARCHAR dan CHAR diperlakukan sebagai tidak signifikan secara semantik ketika nilai dibandingkan.
Perhitungan panjang mengembalikan panjang string karakter VARCHAR dengan spasi tambahan yang termasuk dalam panjangnya. Trailing blank tidak dihitung panjangnya untuk string karakter dengan panjang tetap.