Indhold
Hovedforskel
Varchar og nvarchar er infosorter i SQL Server. Den overvejende mellem varchar og narchar er, at narchar bruges til opbevaring af Unicode-tegn, mens varchar bruges til opbevaring af ikke-Unicode-tegn. Datalagring er 1 byte pr. Tegn i varchar, mens datalagring i nvarchar er 2 byte pr. Tegn. I emne-definition hjælper varchar så meget som 8000 tegn, mens nvarchar hjælper så meget som 4000 tegn.
Hvad er Varchar?
Varchar er en infotype af AQL Server, der angår variabeltegnene. Ikke-unicode-tegn gemmes ved hjælp af varchar. Hukommelsesallokering i varchar er i overensstemmelse med de indsatte tegn. I emne-definition hjælper varchar så meget som 8000 tegn.
Hvad er Nvarchar?
Nvarchar er en infotype af SQL Server vedrører variabeltegnene. Unicode-tegn gemmes ved hjælp af nvarchar. Flere sprog gemmes sandsynligvis i informationsbasen. Hvis andre sprog bliver brugt, tager nvarchar to gange plads til at gemme et udvidet sæt tegn. I arkiveret definition hjælper nvarchar så meget som 4000 tegn.
Vigtige forskelle
- Narchar bruges til at gemme Unicode-tegn, mens varchar ikke forhandler Unicode-tegn.
- Varchar bruges til opbevaring af ikke-Unicode-tegn, hvorimod nvarchar ikke forhandler ikke-Unicode-tegn.
- Datalagring 1 byte pr. Tegn i varchar, mens i narchar er infolagring simpelthen ikke 1 byte pr. Tegn.
- Datalagring i nvarchar er 2 byte pr. Tegn, hvorimod i varchar infolagring simpelthen ikke er 2 byte pr. Tegn.
- I emne-definition hjælper varchar så meget som 8000 tegn, mens nvarchar hjælper så meget som 4000 tegn.
- Hukommelsesallokering i varchar svarer til det indsatte antal tegn plus to ekstra byte til forskydning, mens i nvarchar-hukommelsesallokering svarer til det dobbelte af det indsatte antal tegn plus med ekstra byte til offset.
- Hvis der også kunne være Unicode-tegn, der skal gemmes i kolonne eller variabel, bruger vi varchar, mens på det andet aspekt, hvis der er ikke-Unicode, der skal gemmes i kolonne eller variabel, bruger vi nvarchar.
- I variabeldeklarationen eller søjledefinitionen, hvis ventilen n for den ikke-obligatoriske parameter simpelthen ikke er specificeret, overvejes det at være 1 for varchar og 2 for nvarchar.