Articles

SQL Server NVARCHAR-gegevenstype

Posted on

Gebruik het SQL Server NVARCHAR-gegevenstype om kolommen, variabelen en parameters te definiëren met tekens van variabele lengte. NVARCHAR-typen zijn variabel in lengte. Zij nemen meer geheugen in beslag dan de opgeslagen tekens. Dit wijkt af van het CHAR type, dat altijd de volledige gedefinieerde hoeveelheid inneemt.

Het NVARCHAR-type slaat tot 4000 tekens op, waarbij elk teken twee bytes in beslag neemt. NVARCHAR is zeer geschikt voor het opslaan van uitgebreide tekensetgegevens, zoals Kanji.

In het algemeen geldt: als u een toepassing schrijft die meerdere talen ondersteunt, gebruik dan NVARCHAR in plaats van VARCHAR.

Vaststellen van NVARCHAR-typen

Hier gebruiken we NVARCHAR om een personentabel te definiëren met FirstName van 20 en LastName van 40:

CREATE TABLE Person ( PersonID INT NOT NULL, FirstName NVARCHAR(20), LastName NVARCHAR(40) ) 

Hier declareren we een variabele:

DECLARE @firstName NVARCHAR(20); 

Deze definities zijn als VARCHAR definities. Het grote verschil is dat de kolommen twee keer zoveel ruimte innemen!

SQL SERVER NVARCHAR Voorbeeld

Kijk eens naar deze query met LastName gedefinieerd als NVARCHAR:

SQL SERVER NVARCHAR voorbeeld in de kolomtype definitie van de tabel.'s column type definition.

Opvallend is dat de DATALENGTE twee keer zo lang is als de tekenlengte. Merk ook op dat wanneer LastName naar VARCHAR wordt geconverteerd, de DATALENGTH even lang is als de tekenlengte.

SELECT LastName,Len(LastName),DATALENGTH(LastName),DATALENGTH(CAST(LastName as VARCHAR(20))) FROM Person.Person
SELECT LastName ,Len(LastName) ,DATALENGTH(LastName) ,DATALENGTH(CAST(LastName as VARCHAR(20))) FROM Person.Person

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *