GeeksforGeeks

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:

Article Tags :

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.