Esempi con tipi di caratteri - 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à.

Esempi con tipi di caratteri

Istruzione CREATE TABLE

La seguente istruzione CREATE TABLE dimostra l'uso dei tipi di dati VARCHAR e CHAR:

create table address( address_id integer, address1 varchar(100), address2 varchar(50), district varchar(20), city_name char(20), state char(2), postal_code char(5) );

Gli esempi seguenti usano questa tabella.

Spazi finali in stringhe di caratteri a lunghezza variabile

Dato che ADDRESS1 è una colonna VARCHAR, gli spazi finali nel secondo indirizzo inserito sono insignificanti dal punto di vista semantico. In altre parole, questi due indirizzi inseriti corrispondono.

insert into address(address1) values('9516 Magnolia Boulevard'); insert into address(address1) values('9516 Magnolia Boulevard ');
select count(*) from address where address1='9516 Magnolia Boulevard'; count ------- 2 (1 row)

Se la colonna ADDRESS1 fosse una colonna CHAR e venissero inseriti gli stessi valori, la query COUNT(*) riconoscerebbe le stringhe di caratteri come uguali e restituirebbe 2.

Risultati della funzione LENGTH

La funzione LENGTH riconosce gli spazi finali nelle colonne VARCHAR:

select length(address1) from address; length -------- 23 25 (2 rows)

Un valore di Augusta nella colonna CITY_NAME, che è una colonna CHAR, restituirebbe sempre una lunghezza di 7 caratteri, indipendentemente da qualsiasi spazio finale nella stringa input.

Valori che superano la lunghezza della colonna

Le stringhe di caratteri non vengono troncate per rientrare nella larghezza della colonna dichiarata:

insert into address(city_name) values('City of South San Francisco'); ERROR: value too long for type character(20)

Per ovviare a questo problema puoi eseguire il cast del valore alla dimensione della colonna:

insert into address(city_name) values('City of South San Francisco'::char(20));

In questo caso, i primi 20 caratteri della stringa (City of South San Fr) verrebbero caricati nella colonna.