GeeksforGeeks

Nyní, že jsme obeznámeni s koncepcí znakové datové typy CHAR, VARCHAR a TEXT, respektive v PostgreSQL, tento článek se zaměří na zvýraznění klíčový rozdíl mezi nimi.

Co je datový typ CHAR?
tento datový typ se používá k ukládání znaků omezené délky. To je reprezentován jako char(n) nebo character(n) v PostgreSQL, kde n představuje omezení délky znaků.Pokud n není zadáno, výchozí hodnota je char(1) nebo character(1).

Co je datový typ VARCHAR?
tento datový typ se používá k ukládání znaků omezené délky. Je reprezentován jako varchar(n) v PostgreSQL, kde n představuje limit délky znaků. Pokud n není zadáno, má výchozí hodnotu varchar , která má neomezenou délku.

Co je textový datový typ?
tento datový typ se používá k ukládání znaků neomezené délky. V PostgreSQL je reprezentován jako text. Výkon varcharu (bez n) A textu jsou stejné.

níže uvedená tabulka uvádí hlavní rozdíl mezi CHAR, VARCHAR a textem:

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 zkrácený Dostane zkrácen Renains neporušené
Pokud n není zadán n = 1 n = nekonečno Pojem n neexistuje
Dotaz cyklu Další cyklus zkontrolovat délku Další cyklus zkontrolovat délku Žádné hodnocení znaků

Příklad:
Pojďme vytvořit novou tabulku(řekněme, character_tests) pro demonstraci pomocí níže uvedených příkazů:

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

Teď pojďme vložit nový řádek do char_test tabulky pomocí níže uvedeného příkazu:

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' );

V této fázi PostgreSQL zvýší chybu jako datový typ x je sloupec char(1) a snažili jsme se vložit řetězec s tři postavy v tomto sloupci, jak je uvedeno níže:

ERROR: value too long for type character(1)

Tak, teď, pojďme to napravit.

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' );

Nyní, budeme mít stejné chyby pro sloupec y jako počet znaků, zadali, je větší než 10, jak je uvedeno níže:

ERROR: value too long for type character(10)

Pojďme to napravit.

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

Nyní, že se nám podařilo úspěšně přiřadit hodnoty typu dat znak, zkontrolujte to spuštěním níže uvedeného příkazu:

SELECT * FROM character_tests;

Výstup:

Article Tags :

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.