Articles

Typ danych SQL Server NVARCHAR

Posted on

Zastosowanie typu danych SQL Server NVARCHAR do definiowania kolumn, zmiennych i parametrów o zmiennej długości znaków. Typy NVARCHAR mają zmienną długość. Zajmują one więcej pamięci niż przechowywane znaki. Różni się to od typu CHAR, który zawsze zajmuje całą zdefiniowaną ilość.

Typ NVARCHAR przechowuje do 4000 znaków, przy czym każdy znak zajmuje dwa bajty. NVARCHAR dobrze nadaje się do przechowywania danych o rozszerzonym zestawie znaków, takich jak kanji.

Generalnie rzecz biorąc, jeśli piszesz aplikację obsługującą wiele języków, użyj NVARCHAR zamiast VARCHAR.

Definiowanie typów NVARCHAR

Tutaj używamy NVARCHAR do zdefiniowania tabeli Person z FirstName o długości 20 i LastName o długości 40:

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

Tutaj deklarujemy zmienną:

DECLARE @firstName NVARCHAR(20); 

Definicje te są jak definicje VARCHAR. Główna różnica polega na tym, że kolumny zajmują dwa razy więcej miejsca!

Przykład SQL SERVER NVARCHAR

Sprawdź zapytanie, które definiuje LastName jako NVARCHAR:

Przykład SQL SERVER NVARCHAR w definicji typu kolumny tabeli.'s column type definition.

Zauważ, że DATALENGTH jest dwa razy dłuższy niż długość znaków. Zauważ również, że kiedy LastName jest konwertowane do VARCHAR, DATALENGTH jest taka sama jak długość znaków.

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

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *