Rozdiel medzi Char a Varchar

Obidva typy údajov sú v mnohých programovacích jazykoch a databázových systémoch, kde „char“ označuje znak a „varchar“ označuje variabilný znak. Char in C predstavuje typ znaku, ktorý sa používa na ukladanie hodnôt reťazca, väčšinou znakov a celých čísel kódovaných UTF-8. Na druhej strane Varchar je dátový typ, ktorý môže obsahovať údaje ľubovoľného druhu neurčitej dĺžky. Varchar označuje dátový typ poľa v systéme správy databázy. Aj keď obidve môžu ukladať hodnoty reťazcov až do maximálnej dĺžky 8 000 znakov, znak char vyžaduje viac ukladacieho priestoru ako varchar. Technicky sa používajú na ukladanie rovnakých typov údajov, líšia sa však spôsobom, akým sú ukladané a získavané. Pozrime sa podrobne na ich rozdiely.

Čo je Char?

Char je dátový typ s pevnou dĺžkou, ktorý sa používa na ukladanie znakov mimo Unicode, odtiaľ názov (skratka pre znak). Zaberá jeden bajt miesta pre každý znak, ktorý je kódovaný ako čísla - tie z kódovania ASCII. Typ char sa dá použiť aj na deklarovanie malých celých čísel. Na deklarovanie znakovej premennej sa používa kľúčové slovo „char“, čo znamená, že jeden znak je uložený v jednom bajte.

Rovnako ako celočíselné typy, znak char môže byť podpísaný alebo nepodpísaný. Môže uchovávať podpísané hodnoty char v rozsahu od -128 do 127 a v závislosti od architektonickej veľkosti môže byť tiež nepodpísané, pričom môže uchovávať hodnoty v rozsahu od 0 do 255. Keď sa hodnoty char ukladajú, sú správne vyplnené medzerami na zadanú dĺžku. , Zadné medzery sa odstránia po ich získaní.

Napríklad - ak deklarujete typ údajov s premennou char (7), bude vždy trvať 7 bajtov údajov bez ohľadu na to, či ukladáte 1 znak alebo 7 znakov, čo znamená, že do stĺpca môžete uložiť maximálne 7 znakov..

Čo je to Varchar?

Varchar, ako názov napovedá, je dátový typ s premenlivou dĺžkou, ktorý môže obsahovať akýkoľvek typ údajov s dĺžkou pohybujúcou sa od 0 do 65 535. Pole Varchar môže ukladať hodnoty ľubovoľnej veľkosti až do určitého limitu v závislosti od databázy. Môže byť definovaný buď v programovacích jazykoch alebo na úrovni databázy. Veľkosť poľa varchar môže byť od nuly po maximálnu deklarovanú dĺžku poľa.

Na vyhlásenie premenného sa používa kľúčové slovo „varchar“. Varchar zaberá variabilný priestor, čo znamená, že použije iba počet bajtov rovný počtu znakov. Pomáha predchádzať plytvaniu priestorom, pretože využíva iba priestor potrebný na veľkosť struny. V niektorých programovacích jazykoch a databázových systémoch sa z databázy automaticky odstráni akýkoľvek ďalší priestor.

Napríklad - ak deklarujete premennú varchar (10), použije sa počet bajtov rovný počtu znakov. Ak teda ukladáte iba jeden znak, bude to trvať iba jeden bajt a ak ukladáte 10 znakov, bude to trvať 10 bajtov, čím sa zabráni plytvaniu databázovým priestorom..

Rozdiel medzi Char a Varchar

  1. Dátový typ

„Char“ je dátový typ s pevnou dĺžkou, ktorý sa používa na ukladanie hodnoty reťazca znakov s pevnou dĺžkou, zatiaľ čo „Varchar“ je dátový typ s premenlivou dĺžkou, ktorý sa používa na ukladanie alfanumerických údajov s variabilnou dĺžkou..

  1. Veľkosť úložiska

Veľkosť úložiska znakovej hodnoty sa rovná maximálnej veľkosti tohto stĺpca, ktorú deklarujete pri vytváraní tabuľky. Na druhej strane veľkosť úložiska hodnoty varchar je skutočná dĺžka zadaných údajov, nie maximálna veľkosť tohto stĺpca..

  1. Záznamy údajov

Môžete použiť znak char, keď sa očakáva, že položky údajov v stĺpci budú mať rovnakú veľkosť, zatiaľ čo naopak, varchar sa môže použiť, keď sa očakáva, že položky údajov v stĺpci sa budú meniť vo veľkosti..

  1. Pridelenie pamäte

Char používa pridelenie statickej pamäte, zatiaľ čo varchar používa dynamické pridelenie pamäte

  1. dĺžka

Dĺžka premennej char môže mať akúkoľvek hodnotu od 0 do 255, zatiaľ čo dĺžka premennej varchar je v rozsahu od 0 do 65 535.

  1. prihláška

Zadávanie údajov je konzistentné v znaku, ktorý sa používa na ukladanie údajov, ako sú telefónne čísla, zatiaľ čo varchar sa používa na ukladanie rôznych údajov, ako sú adresy..

Char vs Varchar

spáliť varchar
Používa sa na ukladanie hodnoty reťazca znakov s pevnou dĺžkou. Používa sa na ukladanie alfanumerických údajov rôznej dĺžky.
Dĺžka sa pohybuje od 0 do 255. Dĺžka sa pohybuje od 0 do 65 535.
Na uloženie zaberá 1 bajt na znak. Na uloženie informácií o dĺžke trvá 1 bajt na znak plus 1 alebo 2 bajty navyše.
Veľkosť úložiska char je rovnaká ako v deklarovanom stave. Veľkosť úložiska varchar závisí od konkrétneho uloženého reťazca.
Používa statické pridelenie pamäte. Používa dynamické prideľovanie pamäte.
Znak by sa mal použiť, keď je známa dĺžka premennej. Varchar by sa mal používať iba vtedy, ak nie je známa dĺžka premennej.
Prijíma iba znaky. Prijíma znaky aj čísla.
Je to o 50 percent rýchlejšie ako Varchar. Je pomalší ako Char.
Veľkosť úložiska hodnoty char sa rovná maximálnej veľkosti stĺpca. Veľkosť úložiska hodnoty varchar sa rovná skutočnej dĺžke zadaných údajov, nie maximálnej veľkosti stĺpca.

zhrnutie

  • „Char“ aj „Varchar“ sú dátové typy v programovacích jazykoch a databázových systémoch, ktoré zdieľajú niektoré spoločné črty, pokiaľ ide o funkčnosť a technickosť. Líšia sa však výrazne podľa spôsobu, akým sú uložené a obnovené.
  • Zatiaľ čo znak char sa vlastne týka znaku, varchar sa týka premenného znaku. Ako už názov napovedá, char je dátový typ s pevnou dĺžkou, zatiaľ čo varchar je dátový typ s variabilnou dĺžkou.
  • Char trvá až 1 bajt na znak, zatiaľ čo varchar tiež vyžaduje až 1 bajt na znak plus 1 alebo 2 bajty navyše na uloženie informácií o dĺžke. V prípade char sa dĺžka pohybuje od 0 do 255 a pre varchar to môže byť v rozmedzí 0 až 65 535.
  • Keďže znak char má pevnú dĺžku, akýkoľvek zvyšný priestor v poli je vyplnený medzerami. Varchar, na druhej strane, má premennú dĺžku, takže obsahuje iba znaky, ktoré sú mu priradené.
  • Keď sú hodnoty uložené v poliach „char“, sú zvyšné znaky vyplnené medzerami, zatiaľ čo „varchar“ nepridáva medzery, keď zadáte menej údajov, ako je zadaná dĺžka..