Innhold
Hovedforskjell
Varchar og nvarchar er informasjonsvarianter i SQL Server. Det dominerende mellom varchar og narchar er at narchar brukes til å lagre Unicode-tegn, mens varchar brukes til å lagre ikke-Unicode-tegn. Datalagring er 1 byte per tegn i varchar mens informasjonslagring i nvarchar er 2 byte per tegn. I emnedefinisjon hjelper varchar så mye som 8000 tegn, mens nvarchar hjelper så mye som 4000 tegn.
Hva er Varchar?
Varchar er en infotype av AQL Server som gjelder variabeltegnene. Ikke-Unicode-tegn lagres ved å bruke varchar. Minnetildeling i varchar er i samsvar med de innsatte tegnene. I emnedefinisjon hjelper varchar så mye som 8000 tegn.
Hva er Nvarchar?
Nvarchar er en infotype SQL Server gjelder variabeltegnene. Unicode-tegn lagres ved å bruke nvarchar. Flere språk vil sannsynligvis bli lagret i informasjonsbasen. Hvis andre språk blir brukt, vil nvarchar ta to ganger plass for lagring av utvidede sett med tegn. I arkivert definisjon hjelper nvarchar så mye som 4000 tegn.
Viktige forskjeller
- Narchar brukes til å lagre Unicode-tegn, mens varchar ikke forhandler Unicode-tegn.
- Varchar brukes til å lagre ikke-Unicode-tegn, mens nvarchar ikke forhandler ikke-Unicode-tegn.
- Datalagring 1 byte per tegn i varchar, mens i narchar er infolagring ganske enkelt ikke 1 byte per tegn.
- Datalagring i nvarchar er 2 byte per tegn, mens i varchar informasjonslagring rett og slett ikke er 2 byte per tegn.
- I emnedefinisjon hjelper varchar så mye som 8000 tegn, mens nvarchar hjelper så mye som 4000 tegn.
- Minnetildeling i varchar tilsvarer det innsatte antallet tegn pluss to ekstra byte for forskyvning, mens i nvarchar minnetildeling er det samme som to ganger det innsatte antall tegn pluss med ekstra byte for forskyvning.
- Hvis det også kan være Unicode-tegn som kan lagres i kolonne eller variabel, bruker vi varchar, mens på det andre aspektet hvis det er Non-Unicode som skal lagres i kolonne eller variabel, bruker vi nvarchar.
- I variabeldeklarasjonen eller kolonnedefinisjonen, hvis ventilen n til den ikke-obligatoriske parameteren ganske enkelt ikke er spesifisert, er det tenkt å være som 1 for varchar og 2 for nvarchar.