Összefoglaló: Ebben az oktatóanyagban megismerkedhet a PostgreSQL karakteres adattípusaival, köztük a CHAR, VARCHAR és TEXT típusokkal, és megtanulhatja, hogyan válassza ki a megfelelő karaktertípusokat a tábláihoz.

Bevezetés a PostgreSQL karaktertípusaihoz

A PostgreSQL három elsődleges karaktertípust biztosít: CHARACTER(n) vagy CHAR(n), CHARACTER VARYINGING(n) vagy VARCHAR(n) és TEXT, ahol n egy pozitív egész szám.

A következő táblázat illusztrálja a PostgreSQL karaktertípusait:

Character Types Description
CHARACTER VARYING(n), VARCHAR(n) variable-length with length limit
CHARACTER(n), CHAR(n) meghatározott hosszúságú, üres kitöltéssel
TEXT, VARCHAR változó korlátlan hosszúságú

A CHAR(n) és a VARCHAR(n) is legfeljebb n karaktert tárolhat. Ha olyan karakterláncot próbál tárolni, amely több mint n karaktert tartalmaz, a PostgreSQL hibát ad ki.

Az egyik kivétel azonban az, hogy ha a túlzott karakterek mind szóközök, a PostgreSQL a szóközöket a maximális hosszra (n) vágja le és tárolja a karaktereket.

Ha egy karakterláncot kifejezetten CHAR(n) vagy VARCHAR(n) karakterre vetítünk, a PostgreSQL a karakterláncot n karakterre vágja le, mielőtt beszúrná a táblázatba.

A TEXT adattípus korlátlan hosszúságú karakterláncot tárolhat.

Ha a VARCHAR adattípushoz nem adjuk meg az n egész számot, akkor úgy viselkedik, mint a TEXT adattípus. A VARCHAR (a n méret nélkül) és a TEXT teljesítménye megegyezik.

A VARCHAR adattípus esetében a hosszmeghatározó megadásának egyetlen előnye, hogy a PostgreSQL hibát fog kiadni, ha a VARCHAR(n) oszlopba n karakternél hosszabb karakterláncot próbálunk beszúrni.

A VARCHAR-től eltérően a CHARACTER vagy CHAR a hosszmeghatározó nélkül (n) megegyezik a CHARACTER(1) vagy CHAR(1) adattípussal.

A többi adatbázis-rendszertől eltérően a PostgreSQL-ben nincs teljesítménybeli különbség a három karaktertípus között.

A legtöbb esetben a TEXT vagy a VARCHAR adattípust érdemes használni. A VARCHAR(n)-t pedig akkor használja, ha azt szeretné, hogy a PostgreSQL ellenőrizze a hosszúságot.

PostgreSQL karaktertípus példák

Nézzünk egy példát, hogy lássuk, hogyan működnek a CHAR , VARCHAR és TEXT adattípusok.

Először hozzunk létre egy új táblát character_tests néven:

Code language: SQL (Structured Query Language) (sql)

Ezután illesszünk be egy új sort a character_tests táblába.

Code language: SQL (Structured Query Language) (sql)

A PostgreSQL hibát adott ki:

Code language: SQL (Structured Query Language) (sql)

Ez azért van, mert a x oszlop adattípusa char(1), és ebbe az oszlopba egy három karakterből álló karakterláncot próbáltunk beszúrni. Javítsuk ki:

Code language: SQL (Structured Query Language) (sql)

A PostgreSQL egy másik hibát ad ki:

Code language: Shell Session (shell)

Ez azért van, mert egy 10 karakternél hosszabb karakterláncot próbáltunk beszúrni a y oszlopba, amelynek adattípusa varchar(10).

A következő utasítás sikeresen beszúr egy új sort a character_tests táblába.

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Code language: Shell Session (shell)

Summary

  • A PostgreSQL támogatja a CHAR, VARCHAR és TEXT adattípusokat. A CHAR fix hosszúságú karaktertípus, míg a VARCHAR és a TEXT változó hosszúságú karaktertípusok.
  • A VARCHAR(n)t használja, ha egy oszlopba való beszúrás vagy frissítés előtt a karakterlánc hosszát (n) szeretné érvényesíteni.
  • VARCHAR (a hosszmeghatározó nélkül) és TEXT egyenértékű.
  • Az útmutató hasznos volt?
  • IgenNem

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

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