Tipi di carattere - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tipi di carattere

I tipi di dati relativi ai caratteri includono CHAR (carattere) e VARCHAR (carattere variabile).

Storage e intervalli

CHARe VARCHAR i tipi di dati sono definiti in termini di byte, non di caratteri. Una CHAR colonna può contenere solo caratteri a byte singolo, quindi una colonna CHAR (10) può contenere una stringa con una lunghezza massima di 10 byte. A VARCHAR può contenere caratteri multibyte, fino a un massimo di quattro byte per carattere. Ad esempio, una colonna VARCHAR (12) può contenere 12 caratteri a byte singolo, 6 caratteri a due byte, 4 caratteri a tre byte o 3 caratteri a quattro byte.

Nome Storage Intervallo (larghezza della colonna)
CHAR, oppure CHARACTER NCHAR Lunghezza della stringa, compresi spazi finali (se presenti) 4096 byte
VARCHARCHARACTERVARYING, o NVARCHAR 4 byte + byte totali per carattere, dove ogni carattere può essere da 1 a 4 byte. 65.535 bytes (64K -1)
BPCHAR Convertito in lunghezza fissa CHAR (256). 256 byte
TEXT Convertito in VARCHAR (256). 260 byte
Nota

La CREATE TABLE sintassi supporta la MAX parola chiave per i tipi di dati dei caratteri. Per esempio:

create table test(col1 varchar(max));

L'MAXimpostazione definisce la larghezza della colonna come 4096 byte per CHAR o 65535 byte per. VARCHAR

CHARoppure CHARACTER

Usa una CHARACTER colonna CHAR o per memorizzare stringhe a lunghezza fissa. Queste stringhe sono riempite con spazi vuoti, quindi una colonna CHAR (10) occupa sempre 10 byte di spazio di archiviazione.

char(10)

Una CHAR colonna senza una specifica di lunghezza risulta in una CHAR colonna (1).

VARCHARo CHARACTER VARYING

Usa una CHARACTER VARYING colonna VARCHAR or per memorizzare stringhe di lunghezza variabile con un limite fisso. Queste stringhe non sono riempite con spazi vuoti, quindi una colonna VARCHAR (120) è composta da un massimo di 120 caratteri a byte singolo, 60 caratteri a due byte, 40 caratteri a tre byte o 30 caratteri a quattro byte.

varchar(120)

Se si utilizza il tipo di VARCHAR dati senza un identificatore di lunghezza in un'istruzione, la lunghezza predefinita è 256. CREATE TABLE Se utilizzata in un'espressione, la dimensione dell'output viene determinata utilizzando l'espressione di input (fino a 65535).

NCHARe tipi NVARCHAR

È possibile creare colonne con i NVARCHAR tipi NCHAR e (noti anche come NATIONAL CHARACTER VARYING tipi NATIONAL CHARACTER e). Questi tipi vengono convertiti rispettivamente in VARCHAR tipi CHAR e vengono archiviati nel numero di byte specificato.

Una NCHAR colonna senza una lunghezza specificata viene convertita in una colonna CHAR (1).

Una NVARCHAR colonna senza una lunghezza specificata viene convertita in una colonna VARCHAR (256).

TEXTe BPCHAR tipi

Puoi creare una tabella Amazon Redshift con una TEXT colonna, ma questa viene convertita in una colonna VARCHAR (256) che accetta valori di lunghezza variabile con un massimo di 256 caratteri.

Puoi creare una colonna Amazon Redshift con un tipo BPCHAR (carattere vuoto), che Amazon Redshift converte in una colonna a lunghezza fissa (256). CHAR

Significato degli spazi finali

Entrambi i tipi di VARCHAR dati CHAR memorizzano stringhe lunghe fino a n byte. Un tentativo di memorizzare una stringa più lunga in una colonna di questi tipi risulta in un errore, a meno che i caratteri extra non siano tutti spazi (vuoti); in questo caso la stringa viene troncata alla lunghezza massima. Se la stringa è più corta della lunghezza massima, CHAR i valori vengono riempiti con spazi vuoti, ma i VARCHAR valori memorizzano la stringa senza spazi.

Gli spazi vuoti finali nei CHAR valori sono sempre semanticamente insignificanti. Vengono ignorati quando si confrontano due CHAR valori, non inclusi nei LENGTH calcoli, e rimossi quando si converte un valore in un CHAR altro tipo di stringa.

Gli spazi finali in VARCHAR e CHAR i valori vengono considerati semanticamente insignificanti quando i valori vengono confrontati.

I calcoli della lunghezza restituiscono la lunghezza delle stringhe di VARCHAR caratteri con gli spazi finali inclusi nella lunghezza. Gli spazi finali non vengono contati nella lunghezza per le stringhe di caratteri a lunghezza fissa.