PostgreSQL supporta un tipo di dati a carattere chiamato VARCHAR. Questo tipo di dati è usato per memorizzare caratteri di lunghezza limitata. È rappresentato come varchar(n)
in PostgreSQL, dove n rappresenta il limite della lunghezza dei caratteri. Se n non è specificato, il default è varchar
che ha una lunghezza illimitata. Qualsiasi tentativo di memorizzare una stringa più lunga nella colonna definita con varchar(n)
provoca un errore da parte di PostgreSQL. Tuttavia, un’eccezione è che se i caratteri in eccesso sono tutti spazi, PostgreSQL troncherà gli spazi alla lunghezza massima e memorizzerà la stringa. L’unico vantaggio di specificare lo specificatore di lunghezza per il tipo di dati varchar è che PostgreSQL controllerà ed emetterà un errore se si cerca di inserire una stringa più lunga nella colonna varchar(n).
Syntax: variable_name VARCHAR(n)
Esempio :
Creiamo una nuova tabella (diciamo, char_test) per la dimostrazione usando i seguenti comandi:
CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));
Inseriamo ora una nuova riga nella tabella char_test usando il seguente comando:
INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );
A questo punto PostgreSQL solleverà un errore poiché il tipo di dati della colonna x è char(1) e abbiamo cercato di inserire una stringa con tre caratteri in questa colonna come mostrato di seguito:
ERROR: value too long for type character varying(1)
Così, ora correggiamolo.
INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );
Ora, otterremo lo stesso errore per la colonna y poiché il numero di caratteri inseriti è maggiore di 10 come mostrato di seguito:
ERROR: value too long for type character varying(10)
Risolviamo anche questo.
INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );
Ora che siamo riusciti ad assegnare con successo i valori al tipo di dati carattere, controlliamo eseguendo il seguente comando:
SELECT * FROM varchar_test;
Output: