GeeksforGeeks

A PostgreSQL támogatja a VARCHAR nevű karakteres adattípust. Ez az adattípus korlátozott hosszúságú karakterek tárolására szolgál. A PostgreSQL-ben varchar(n) formában jelenik meg, ahol n a karakterek hosszának korlátját jelöli. Ha n nincs megadva, az alapértelmezett érték varchar , amely korlátlan hosszúságú. Bármilyen kísérlet hosszabb karakterlánc tárolására a varchar(n)-vel definiált oszlopban a PostgreSQL hibaüzenetet ad ki. Egy kivétel azonban van: ha a többlet karakterek mind szóközök, a PostgreSQL a szóközöket a maximális hosszúságra vágja le és tárolja a karakterláncot. A varchar adattípushoz a hosszmeghatározó megadásának egyetlen előnye, hogy a PostgreSQL ellenőrzi és hibát ad ki, ha hosszabb karakterláncot próbál beilleszteni a varchar(n) oszlopba.

Syntax: variable_name VARCHAR(n)

Példa :
Hozzunk létre egy új táblát(mondjuk char_test) a demonstrációhoz az alábbi parancsokkal:

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

Most szúrjunk be egy új sort a char_test táblába az alábbi paranccsal:

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

A PostgreSQL ebben a szakaszban hibát jelez, mivel az x oszlop adattípusa char(1), és az alábbiakban látható módon egy három karakterből álló karakterláncot próbáltunk beszúrni ebbe az oszlopba:

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

Szóval, most javítsuk ki.

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

Most ugyanezt a hibát kapjuk az y oszlopnál is, mivel a beírt karakterek száma nagyobb, mint 10, ahogy az alább látható:

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

javítsuk ki ezt is.

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

Most, hogy sikerült sikeresen hozzárendelnünk az értékeket a karakteres adattípushoz, ellenőrizzük az alábbi parancs futtatásával:

SELECT * FROM varchar_test;

Kimenet:

Article Tags :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.