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 meliputi CHAR (karakter) dan VARCHAR (karakter bervariasi).

Penyimpanan dan rentang

CHARdan tipe VARCHAR data didefinisikan dalam hal byte, bukan karakter. CHARKolom hanya dapat berisi karakter byte tunggal, sehingga kolom CHAR (10) dapat berisi string dengan panjang maksimum 10 byte. A 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, CHARACTER atau NCHAR Panjang string, termasuk trailing blank (jika ada) 4096 bita
VARCHAR, CHARACTERVARYING, atau NVARCHAR 4 byte+total byte untuk karakter, di mana setiap karakter dapat 1 sampai 4 byte. 65535 byte (64K -1)
BPCHAR Dikonversi ke panjang tetap CHAR (256). 256 byte
TEXT Dikonversi ke VARCHAR (256). 260 byte
catatan

CREATETABLESintaks mendukung MAX kata kunci untuk tipe data karakter. Sebagai contoh:

create table test(col1 varchar(max));

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

CHARatau CHARACTER

Gunakan CHARACTER kolom CHAR atau untuk menyimpan string dengan panjang tetap. String ini dilapisi dengan blanko, sehingga kolom CHAR (10) selalu menempati 10 byte penyimpanan.

char(10)

CHARKolom tanpa spesifikasi panjang menghasilkan CHAR (1) kolom.

VARCHARatau CHARACTER VARYING

Gunakan CHARACTER VARYING kolom VARCHAR atau 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 VARCHAR data tanpa penentu panjang dalam sebuah CREATE TABLE pernyataan, panjang defaultnya adalah 256. Jika digunakan dalam ekspresi, ukuran output ditentukan menggunakan ekspresi input (hingga 65535).

NCHARdan NVARCHAR jenis

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

NCHARKolom tanpa spesifikasi panjang diubah menjadi CHAR (1) kolom.

NVARCHARKolom tanpa spesifikasi panjang dikonversi ke kolom VARCHAR (256).

TEXTdan BPCHAR jenis

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

Anda dapat membuat kolom Amazon Redshift dengan tipe BPCHAR (karakter empuk kosong), yang diubah Amazon Redshift menjadi kolom dengan panjang tetap (256). CHAR

Signifikansi trailing blank

Keduanya CHAR dan tipe VARCHAR data 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, CHAR nilai dilapisi dengan blanko, tetapi VARCHAR nilai menyimpan string tanpa kosong.

Trailing blank dalam CHAR nilai selalu tidak signifikan secara semantik. Mereka diabaikan ketika Anda membandingkan dua CHAR nilai, tidak termasuk dalam LENGTH perhitungan, dan dihapus ketika Anda mengonversi CHAR nilai ke jenis string lain.

Spasi tertinggal VARCHAR dan CHAR nilai diperlakukan sebagai tidak signifikan secara semantik ketika nilai dibandingkan.

Perhitungan panjang mengembalikan panjang string VARCHAR karakter dengan spasi tambahan yang termasuk dalam panjangnya. Trailing blank tidak dihitung panjangnya untuk string karakter dengan panjang tetap.