GeeksforGeeks

PostgreSQL podporuje znakový datový typ VARCHAR. Tento datový typ slouží k ukládání znaků omezené délky. V PostgreSQL je reprezentován jako varchar(n), kde n představuje omezení délky znaků. Pokud není n zadáno, je výchozí hodnotou varchar , který má neomezenou délku. Jakýkoli pokus o uložení delšího řetězce do sloupce definovaného pomocí varchar(n) vede k tomu, že PostgreSQL vypíše chybu. Výjimkou však je, že pokud jsou všechny přebytečné znaky mezery, PostgreSQL mezery zkrátí na maximální délku a řetězec uloží. Jedinou výhodou zadání specifikátoru délky pro datový typ varchar je, že PostgreSQL zkontroluje a vydá chybu, pokud se pokusíte do sloupce varchar(n) vložit delší řetězec.

Syntax: variable_name VARCHAR(n)

Příklad :
Vytvořme pro demonstraci novou tabulku (řekněme char_test) pomocí níže uvedených příkazů:

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

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

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

V této fázi vyhodí PostgreSQL chybu, protože datový typ sloupce x je char(1) a my jsme se pokusili do tohoto sloupce vložit řetězec o třech znacích, jak ukazuje následující příkaz:

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

Nyní to tedy opravíme.

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

Nyní dostaneme stejnou chybu pro sloupec y, protože počet zadaných znaků je větší než 10, jak je ukázáno níže:

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

Takže to opravíme.

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

Když se nám nyní podařilo úspěšně přiřadit hodnoty ke znakovému datovému typu, zkontrolujte to spuštěním níže uvedeného příkazu:

SELECT * FROM varchar_test;

Výstup:

Štítky článku :

Napsat komentář

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