Ero Charin ja Varcharin välillä

Molemmat ovat tietotyyppejä monissa ohjelmointikielissä ja tietokantajärjestelmissä, joissa 'char' tarkoittaa merkkiä ja 'varchar' tarkoittaa muuttuvaa merkkiä. C-merkinnässä oleva Char edustaa merkkityyppiä, jota käytetään merkkijonoarvojen, lähinnä UTF-8-koodattujen merkkien ja kokonaislukujen, tallentamiseen. Varchar puolestaan ​​on tietotyyppi, joka voi sisältää minkä tahansa tyyppistä määrittelemätöntä pituutta. Varchar viittaa kentän tietotyyppiin tietokannan hallintajärjestelmässä. Vaikka molemmat voivat tallentaa merkkijonoarvoja, joiden enimmäispituus on 8000 merkkiä, char vaatii enemmän tallennustilaa kuin varchar. Teknisesti niitä molempia käytetään samantyyppisten tietojen tallentamiseen, mutta ne eroavat tallennus- ja noutotavoista. Katsotaanpa niiden eroja yksityiskohtaisesti.

Mikä on Char?

Char on kiinteä pituinen tietotyyppi, jota käytetään muiden kuin Unicode-merkkien tallentamiseen, joten nimi (lyhenne merkistä). Se vie yhden tavun tilaa jokaiselle merkille, jotka koodataan numeroina - ASCII-koodauksesta. Char-tyyppiä voidaan käyttää myös pienten kokonaislukujen ilmoittamiseen. Merkkimuuttujan ilmoittamiseksi käytetään avainsanaa 'char', mikä tarkoittaa, että yksi merkki tallennetaan yhteen tavuun.

Kuten kokonaisluku tyypit, char voidaan allekirjoittaa tai allekirjoittaa. Se voi pitää allekirjoitettuja char-arvoja välillä -128 - 127 ja riippuen arkkitehtuurin koosta, se voi myös olla allekirjoittamaton, pitoarvot vaihtelevat välillä 0-255. Kun char-arvot tallennetaan, ne on oikein täytetty välilyönneillä määriteltyyn pituuteen. . Loppuvälit poistetaan, kun ne noudetaan.

Esimerkiksi - jos ilmoitat muuttujan char (7) tietotyypin, se vie aina 7 tavua dataa riippumatta siitä, tallennatko 1 merkkiä vai 7 merkkiä, mikä tarkoittaa, että voit tallentaa enintään 7 merkkiä sarakkeeseen.

Mikä on Varchar?

Varchar, kuten nimestä voi päätellä, on muuttuvapituinen tietotyyppi, joka voi sisältää minkä tahansa tyyppistä dataa, jonka pituus vaihtelee välillä 0 - 65 535. Varchar-kenttä voi tallentaa minkä tahansa kokoisia arvoja tiettyyn rajaan asti, tietokannasta riippuen. Se voidaan määritellä joko ohjelmointikielellä tai tietokantatasolla. Varchar-kentän koko voi olla mikä tahansa nollasta suurimpaan ilmoitettuun kentän pituuteen.

Muuttuvan merkin ilmoittamiseksi käytetään avainsanaa 'varchar'. Varchar vie muuttuvan tilan, mikä tarkoittaa, että se käyttää vain merkkien määrää vastaavaa tavujen lukumäärää. Se auttaa välttämään tilan tuhlausta, koska se käyttää vain merkkijonon kokoon tarvittavaa tilaa. Joissakin ohjelmointikielissä ja tietokantajärjestelmissä ylimääräinen tila poistetaan automaattisesti tietokannasta.

Esimerkiksi - jos julistat muuttujan varchar (10), se käyttää tavujen lukumäärää, joka on yhtä suuri kuin merkkien lukumäärä. Joten jos tallennat vain yhtä merkkiä, niin se vie vain yhden tavun, ja jos tallennat 10 merkkiä, se vie 10 tavua, jolloin vältetään tietokantatilan tuhlaaminen.

Ero Charin ja Varcharin välillä

  1. Tietotyyppi

'Char' on kiinteän pituinen tietotyyppi, jota käytetään kiinteän pituuden merkkijonon arvon tallentamiseen, kun taas 'Varchar' on muuttuvan pituinen tietotyyppi, jota käytetään muuttuvan pituisen aakkosnumeerisen datan tallentamiseen.

  1. Tallennuskoko

Merkkiarvon tallennuskoko on yhtä suuri kuin tämän sarakkeen enimmäiskoko, jonka ilmoitat luotaessa taulukkoa. Toisaalta varchar-arvon tallennuskoko on syötettyjen tietojen todellinen pituus, ei tämän sarakkeen enimmäiskoko.

  1. Tietomerkinnät

Voit käyttää char-näppäintä, kun sarakkeen tietomerkintöjen odotetaan olevan samankokoisia, kun taas päinvastoin, varcharia voidaan käyttää, kun sarakkeen tietomerkintöjen odotetaan vaihtelevan koon.

  1. Muistin allokointi

Char käyttää staattista muistin allokointia, kun taas varchar käyttää dynaamista muistin allokointia

  1. Pituus

Char-muuttujan pituus voi olla mikä tahansa arvo välillä 0 - 255, kun taas varchar-muuttujan pituus on välillä 0 - 65 535.

  1. hakemus

Tiedot ovat yhdenmukaisia ​​merkinnällä, jota käytetään tietojen, kuten puhelinnumeroiden, tallentamiseen, kun taas varcharia käytetään erilaisten tietojen, kuten osoitteiden, tallentamiseen..

Char vs. Varchar

char Varchar
Käytetään kiinteän pituuden merkkijonoarvon tallentamiseen. Käytetään muuttuvan pituisten aakkosnumeeristen tietojen tallentamiseen.
Pituus vaihtelee välillä 0 - 255. Pituus vaihtelee välillä 0 - 65 535.
Kestää 1 tavu merkkiä kohti tallennusta varten. Kestää 1 tavu merkkiä kohti ja 1 tai 2 ylimääräistä tavua pituustietojen tallentamiseksi.
Hiilen säilytyskoko on sama kuin ilmoitettu. Varchar-muistin tallennuskoko riippuu tallennetusta merkkijonosta.
Käyttää staattista muistin allokointia. Käyttää dynaamista muistin allokointia.
Charia tulisi käyttää, kun muuttujan pituus on tiedossa. Varcharia tulisi käyttää vain, kun muuttujan pituutta ei tiedetä.
Se hyväksyy vain merkit. Se hyväksyy sekä merkit että numerot.
Se on 50 prosenttia nopeampi kuin Varchar. Se on hitaampaa kuin Char.
Char-arvon tallennuskoko on yhtä suuri kuin sarakkeen enimmäiskoko. Varchar-arvon tallennuskoko on yhtä suuri kuin syötettyjen tietojen todellinen pituus, ei sarakkeen enimmäiskoko.

Yhteenveto

  • Sekä 'Char' kuin 'Varchar' ovat tietotyyppejä ohjelmointikielissä ja tietokantajärjestelmissä, joilla on joitain yhteisiä piirteitä toiminnallisuudessa ja teknisyydessä. Ne eroavat kuitenkin huomattavasti säilytys- ja noutotavasta.
  • Vaikka char todella viittaa merkkiin, varchar viittaa muuttuvaan merkkiin. Kuten nimestä voi päätellä, char on kiinteän pituinen tietotyyppi, kun taas varchar on muuttuvapituinen tietotyyppi.
  • Char vie enintään 1 tavu merkkiä kohti, kun taas varchar vie myös enintään 1 tavu merkkiä kohden plus ylimääräinen 1 tai 2 tavua pituustietojen tallentamiseksi. Hiilellä pituus vaihtelee välillä 0 - 255 ja varcharilla se voi olla mikä tahansa välillä 0 - 65 535.
  • Koska char on kiinteä, kaikki jäljellä oleva tila kentällä on täytetty aihioilla. Varchar puolestaan ​​on muuttuva pituus, joten se pitää sisällään vain sille osoittamat merkit.
  • Jäljellä olevat merkit täytetään valkoisilla välilyönteillä, kun arvot tallennetaan 'char' -kenttiin, kun taas 'varchar' ei lisää ylimääräisiä välilyöntejä, kun annat vähemmän tietoa kuin määritelty pituus.