Skirtumas tarp varchar ir nvarchar rodo, kaip duomenys saugomi duomenų bazėje. Duomenų bazės sistemą sudaro duomenys ir duomenys yra apibrėžti pagal duomenų rūšis. Duomenų tipas nurodo, kokią vertę stulpelyje gali būti. Kiekviename duomenų bazės lentelės stulpelyje turi būti vardas ir duomenų tipas. Šiandien kuriant duomenų bazę yra daugybė duomenų tipų. Iš šių duomenų tipų varchar ir nvarchar naudojami eilutės simboliams saugoti. Varchar ir Nvarchar atrodo, kad jie gali būti keičiami vienas su kitu. Tačiau šie du tipai turi skirtingus pranašumus ir yra naudojami skirtingiems tikslams.
Kaip rodo pavadinimas, varchar yra a įvairaus charakterio ar įvairus char. Varchar sintaksė yra VARCHAR [(n | max)]. „Varchar“ saugo ASCII duomenis, kurie nėra „Unicode“ duomenys, ir įprastai naudojami duomenų tipai. Varcharas naudoja vieną baitą kiekvienam simboliui. Duomenų bazėje taip pat saugomas kiekvienos eilutės ilgis. Varchar turi kintamą duomenų ilgį ir gali saugoti ne daugiau kaip 8000 ne Unicode simbolių. Šis duomenų tipas yra labai lankstus ir priims daugumos rūšių duomenis. Varchar neleidžia laikyti tuščių nenaudojamų eilutės dalių simbolių. Maksimalus „varchar“ atminties dydis yra 2 GB, o tikrasis duomenų saugojimo dydis yra tikrasis duomenų ilgis pridėjus du baitus. Nors varchar yra lėtesnis nei char, jis naudoja dinaminį atminties paskirstymą. Varchar duomenų tipą taip pat galima saugoti ne tik stygas, bet ir ne eilutes, tokias kaip datų tipai, „vasario 14 d.“, „2014 11 12“..
Nvarcharas siūlo a nacionalinis įvairaus pobūdžio ar nacionalinis įvairus personažas. Nvarchar sintaksė yra NVARCHAR [(n | max)]. „Nvarchar“ gali saugoti įvairaus ilgio, skirtingo tipo duomenis. Tai yra „Unicode“ duomenys ir daugiakalbiai duomenys ir kalbos su dvigubais baitais, pavyzdžiui, ženklais kinų kalba. „Nvarchar“ naudoja 2 baitus vienam simboliui. Joje gali būti ne daugiau kaip 4000 ženklų ir ne daugiau kaip 2 GB. „Nvarchar“ traktuoja „“ kaip tuščią eilutę ir nulio simbolių ilgį. Saugyklos dydis yra du kartus didesnis nei simbolių skaičius, pridėjus du baitus. „Nvarchar“, išsaugojus ir priėmus vertę, galiniai tarpai nėra pašalinti.
Pagrindinis skirtumas tarp „varchar“ ir „nvarchar“ rodo, kaip duomenys saugomi duomenų bazėje.
• „Varchar“ saugo ASCII reikšmes, o „nvarchar“ - „Unicode“ simbolius.
• Varchar naudoja vieną baitą po simbolį, o nvarchar naudoja du baitus už simbolį.
• Varchar [(n)] saugo kintamo ilgio ne Unicode simbolius, o Nvarchar [(n)] saugo kintamo ilgio Unicode simbolius.
• „Varchar“ gali saugoti daugiausia 8000 ne „Unicode“ simbolių, o „nvarchar“ - daugiausia 4000 „Unicode“ ar „Unicode“ simbolių.
• „Varchar“ geriau naudoti tose vietose, kur yra kintamieji su ne „Unicode“ simboliais. „Nvarchar“ naudojamas tose vietose, kur yra kintamieji su „Unicode“ simboliais.
• „Varchar“ saugyklos dydis yra baitų skaičius, lygus ženklų skaičiui plius du baitai, rezervuoti kompensuoti. „Nvarchar“ naudoja baitų skaičių, lygų dvigubam ženklų skaičiui plius dviem baitams, rezervuotiems kompensuoti.
• Visose šiuolaikinėse operacinėse sistemose ir kūrimo platformose „Unicode“ naudojama vidinėje erdvėje. Todėl nvarchar yra labiau naudojamas nei varchar, siekiant išvengti duomenų tipų konvertavimo.
Santrauka:
„Nvarchar“ prieš „Varchar“
„Varchar“ ir „nvarchar“ yra įvairaus ilgio duomenų tipai, kuriuos naudojame skirtingų tipų eilutėms saugoti. Šie duomenų tipai yra naudingi šiuolaikinėse operacinėse sistemose. Šios duomenų rūšies įvairovė leidžia išvengti duomenų konvertavimo iš vieno tipo į kitą pagal operacines sistemas. Todėl varchar ir nvarchar padeda programuotojui be didelių sunkumų atpažinti Unicode ir Unicode stygas. Šie du duomenų tipai yra labai naudingi programuojant.
Vaizdai maloniai: