GeeksforGeeks

Agora que estamos familiarizados com o conceito de tipos de dados de caracteres CHAR, VARCHAR e texto, respectivamente, no PostgreSQL, este artigo irá focar em destacar a diferença chave entre eles.qual é o tipo de dados CHAR?este tipo de dados é usado para armazenar caracteres de comprimento limitado. É representado como char(n) ou character(n) em PostgreSQL, onde n representa o limite do comprimento dos caracteres.If n is not specified it defaults to char(1) or character(1).o que é o tipo de dados VARCHAR?este tipo de dados é usado para armazenar caracteres de comprimento limitado. É representado como varchar(n) em PostgreSQL, onde n representa o limite do comprimento dos caracteres. Se n não for especificado, é por omissão varchar que tem comprimento ilimitado.

O que é o tipo de dados de texto?este tipo de dados é usado para armazenar caracteres de comprimento ilimitado. É representado como text em PostgreSQL. O desempenho do varchar (sem n) e do texto são os mesmos.

A tabela abaixo fornece a maior diferença entre CHAR, VARCHAR e texto:

Comparison CHAR VARCHAR TEXT
Syntax CHAR(n) VARCHAR(n) TEXT
Representation char(n) or character(n) varchar(n) text
Length of characters Limited Limited Unlimited
Spaces and padding Gets truncado Fica truncado Renains intacto
Se n não for especificado n = 1 n = infinito Conceito de n não existe
Consulta ciclo Extra ciclo de seleção duração Extra ciclo de seleção duração Nenhuma avaliação de caracteres comprimento

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

CREATE TABLE character_tests ( id serial PRIMARY KEY, x CHAR (1), y VARCHAR (10), z TEXT);

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

INSERT INTO character_tests (x, y, z)VALUES ( 'Geeks', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );

nesta fase, o PostgreSQL irá gerar um erro como o tipo de dados do x coluna char(1) e procurou-se inserir uma seqüência de caracteres com três caracteres para esta coluna, como mostrado abaixo:

ERROR: value too long for type character(1)

Então, agora, vamos corrigi-lo.

INSERT INTO character_tests (x, y, z)VALUES ( 'G', 'This is a test for varchar', 'This is a very long text for the PostgreSQL text column' );

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

ERROR: value too long for type character(10)

Vamos corrigir isso também.

INSERT INTO character_tests (x, y, z)VALUES ( 'Y', 'varchar(n)', 'This is a very long text for the PostgreSQL text column' );

Agora que temos conseguiu atribuir valores para o tipo de dados de caractere, verifique-o, executando o comando abaixo:

SELECT * FROM character_tests;

Saída:

Article Tags :

Deixe uma resposta

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