Jenis karakter - Amazon Redshift

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

Tipe 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, KARAKTER atau NCHAR Panjang string, termasuk trailing blank (jika ada) 4096 bita
VARCHAR, KARAKTER BERVARIASI, atau NVARCHAR 4 byte+total byte untuk karakter, di mana setiap karakter dapat 1 sampai 4 byte. 65535 byte (64K -1)
BPCHAR Dikonversi ke CHAR dengan panjang tetap (256). 256 byte
TEXT Dikonversi ke VARCHAR (256). 260 byte
catatan

Sintaks CREATE TABLE mendukung kata kunci MAX untuk tipe data karakter. Sebagai contoh:

create table test(col1 varchar(max));

Pengaturan MAX mendefinisikan lebar kolom sebagai 4096 byte untuk CHAR atau 65535 byte untuk VARCHAR.

CHAR atau KARAKTER

Gunakan kolom CHAR atau CHARACTER 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)

Jika Anda menggunakan tipe data VARCHAR tanpa penentu panjang dalam pernyataan CREATE TABLE, panjang defaultnya adalah 256. Jika digunakan dalam ekspresi, ukuran output ditentukan menggunakan ekspresi input (hingga 65535).

Jenis NCHAR dan NVARCHAR

Anda dapat membuat kolom dengan tipe NCHAR dan NVARCHAR (juga dikenal sebagai karakter nasional dan karakter nasional yang bervariasi jenis). Jenis ini dikonversi ke tipe CHAR dan VARCHAR, masing-masing, dan disimpan dalam jumlah byte yang ditentukan.

Kolom NCHAR tanpa spesifikasi panjang dikonversi ke kolom CHAR (1).

Kolom NVARCHAR tanpa spesifikasi panjang dikonversi ke kolom VARCHAR (256).

Jenis TEXT dan BPCHAR

Anda dapat membuat tabel Amazon Redshift dengan kolom TEXT, tetapi dikonversi ke kolom VARCHAR (256) yang menerima nilai panjang variabel dengan maksimum 256 karakter.

Anda dapat membuat kolom Amazon Redshift dengan tipe BPCHAR (blank-padded character), yang diubah Amazon Redshift menjadi kolom CHAR (256) dengan panjang tetap.

Signifikansi trailing blank

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, kecuali karakter tambahan adalah semua spasi (kosong), dalam hal ini 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.