GeeksforGeeks

nyt kun tunnemme käsitteen character-tietotyypit CHAR, VARCHAR ja teksti vastaavasti PostgreSQL: ssä, tämä artikkeli keskittyy korostamaan keskeistä eroa niiden välillä.

mikä on CHAR-tietotyyppi?
tätä tietotyyppiä käytetään rajoitetun pituisten merkkien tallentamiseen. Se esitetään char(n) tai character(n) PostgreSQL: ssä, jossa n edustaa merkkien pituuden rajaa.Jos n: ää ei ole määritelty, oletusarvo on char(1) tai character(1).

mikä on VARCHAR-tietotyyppi?
tätä tietotyyppiä käytetään rajoitetun pituisten merkkien tallentamiseen. Se esitetään varchar(n) PostgreSQL: ssä, jossa n edustaa merkkien pituuden rajaa. Jos n: ää ei ole määritelty, oletusarvo on varchar , jolla on rajoittamaton pituus.

mikä on tekstin tietotyyppi?
tätä tietotyyppiä käytetään rajoittamattoman pituisten merkkien tallentamiseen. Se esiintyy PostgreSQL: ssä nimellä text. Varcharin esitys (ilman n: ää) ja teksti ovat samat.

alla olevassa taulukossa on suurin ero Charin, VARCHARIN ja tekstin välillä:

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 typistetty typistyy Renains intact
Jos n: ää ei ole määritelty n = 1 käsite n ei ole olemassa
Kyselysykli Extra sykli tarkistaa pituus extra sykli tarkistaa pituus ei arviota merkin pituudesta

esimerkki:
luodaan uusi taulukko(sano, character_tests) demonstraatiolle alla olevia komentoja käyttäen:

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

nyt lisätään uusi rivi char_test-taulukkoon käyttäen alla olevaa komentoa:

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

tässä vaiheessa PostgreSQL nostaa virheen, koska x-sarakkeen tietotyyppi on char(1) ja yritimme lisätä tähän sarakkeeseen merkkijonon, jossa on kolme merkkiä kuten alla:

ERROR: value too long for type character(1)

niin, nyt korjataan se.

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

nyt saadaan y-sarakkeeseen sama virhe, kun syötettyjen merkkien määrä on suurempi kuin 10 kuten alla on esitetty:

ERROR: value too long for type character(10)

korjataan sekin.

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

nyt kun olemme onnistuneet antamaan arvot merkkitietotyypille, tarkista se suorittamalla alla oleva komento:

SELECT * FROM character_tests;

Lähtö:

Article Tags :

Vastaa

Sähköpostiosoitettasi ei julkaista.