GeeksforGeeks

most, hogy ismerjük a Char, VARCHAR és TEXT karakter adattípusok fogalmát a PostgreSQL-ben, ez a cikk a legfontosabb különbség kiemelésére összpontosít.

mi a CHAR adattípus?
Ez az adattípus korlátozott hosszúságú karakterek tárolására szolgál. char(n) vagy character(n) A PostgreSQL-ben, ahol n A karakterek hosszának határát jelenti.Ha n nincs megadva, akkor alapértelmezés szerint char(1) vagy character(1).

mi a VARCHAR adattípus?
Ez az adattípus korlátozott hosszúságú karakterek tárolására szolgál. varchar(n) A PostgreSQL-ben, ahol n A karakterek hosszának határát jelenti. Ha n nincs megadva, akkor alapértelmezés szerint varchar , amely korlátlan hosszúságú.

mi a szöveges adattípus?
Ez az adattípus korlátlan hosszúságú karakter tárolására szolgál. text A PostgreSQL-ben. A varchar teljesítménye (n nélkül) és a szöveg ugyanaz.

az alábbi táblázat a Char, VARCHAR és a szöveg közötti fő különbséget mutatja:

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 csonka lesz csonkolt renains ép
ha n nincs megadva n = 1 n = végtelen fogalma n nem létezik
lekérdezési ciklus Extra ciklus a hossz ellenőrzéséhez extra ciklus a hossz ellenőrzéséhez nincs kiértékelés a karakterhosszról

példa:
hozzunk létre egy új táblát(mondjuk character_tests) a bemutatóhoz az alábbi parancsok segítségével:

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

most illesszünk be egy új sort a char_test táblába az alábbi paranccsal:

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

ebben a szakaszban a PostgreSQL hibát fog felvetni, mivel az X oszlop adattípusa char(1), és megpróbáltunk három karakterből álló karakterláncot beilleszteni ebbe az oszlopba az alábbiak szerint:

ERROR: value too long for type character(1)

tehát most javítsuk meg.

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

most ugyanazt a hibát kapjuk az y oszlopban, mivel a beírt karakterek száma nagyobb, mint 10 az alábbiak szerint:

ERROR: value too long for type character(10)

javítsuk meg is.

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

most, hogy sikeresen hozzárendeltük az értékeket a karakter adattípushoz, ellenőrizze az alábbi parancs futtatásával:

SELECT * FROM character_tests;

kimenet:

Article Tags :

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

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