GeeksforGeeks

PostgreSQL suporta um tipo de dados de caracteres chamado VARCHAR. Este tipo de dado é usado para armazenar caracteres de comprimento limitado. Ele é representado como varchar(n) no PostgreSQL, onde n representa o limite do comprimento dos caracteres. Se n não é especificado, o padrão é varchar que tem comprimento ilimitado. Qualquer tentativa de armazenar uma string mais longa na coluna que definiu com varchar(n) resulta em PostgreSQL emitindo um erro. Entretanto, uma exceção é que se os caracteres em excesso são todos os espaços, o PostgreSQL truncará os espaços para o comprimento máximo e armazenará a string. A única vantagem de especificar o especificador de comprimento para o tipo de dados varchar é que o PostgreSQL irá verificar e emitir um erro se você tentar inserir uma string mais longa na coluna varchar(n).

Syntax: variable_name VARCHAR(n)

Exemplo :
Vamos criar uma nova tabela(digamos, char_test) para a demonstração usando os comandos abaixo:

CREATE TABLE varchar_test ( id serial PRIMARY KEY, x VARCHAR (1), y VARCHAR(10));

Agora vamos inserir uma nova linha na tabela char_test usando o comando abaixo:

INSERT INTO varchar_test (x, y)VALUES ( 'Geeks', 'This is a test for char' );

Neste estágio o PostgreSQL irá levantar um erro pois o tipo de dados da coluna x é char(1) e nós tentamos inserir uma string com três caracteres nesta coluna como mostrado abaixo:

ERROR: value too long for type character varying(1)

Então, agora vamos corrigi-la.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'This is a test for char' );

Agora, vamos obter o mesmo erro para a coluna y, pois o número de caracteres inseridos é maior que 10 como mostrado abaixo:

ERROR: value too long for type character varying(10)

Vamos corrigi-lo também.

INSERT INTO varchar_test (x, y)VALUES ( 'G', 'hello Geek' );

Agora que conseguimos atribuir com sucesso os valores ao tipo de dados dos caracteres, verifique executando o comando abaixo:

SELECT * FROM varchar_test;

Output:

Articulação de artigos :

Deixe uma resposta

O seu endereço de email não será publicado.