Różnica między varchar i nvarchar wskazuje, w jaki sposób dane są przechowywane w bazie danych. System bazy danych składa się z danych, a dane są definiowane według typów danych. Typ danych mówi, jaką wartość może zawierać kolumna. Każda kolumna w tabeli bazy danych musi mieć nazwę i typ danych. Obecnie istnieje wiele typów danych dostępnych przy projektowaniu baz danych. Z tych typów danych, varchar i nvarchar są używane do przechowywania znaków łańcuchowych. Varchar i Nvarchar wydają się być wymienne. Ale te dwa typy mają różne zalety i są wykorzystywane do różnych celów.
Jak sama nazwa wskazuje, varchar to różny charakter lub zmieniając char. Składnia varchar to VARCHAR [(n | max)]. Varchar przechowuje dane ASCII, które nie są danymi Unicode, i jest to typ danych, które są używane w normalnym użyciu. Varchar używa jednego bajtu na znak. Przechowuje również długość każdego łańcucha w bazie danych. Varchar ma zmienną długość danych i może przechowywać maksymalnie 8000 znaków innych niż Unicode. Ten typ danych jest bardzo elastyczny i akceptuje większość różnych rodzajów danych. Varchar nie pozwala przechowywać pustych znaków dla nieużywanych części łańcucha. Maksymalny rozmiar pamięci varchar wynosi 2 GB, a rzeczywisty rozmiar pamięci to rzeczywista długość danych plus dwa bajty. Chociaż varchar jest wolniejszy niż char, używa dynamicznej alokacji pamięci. Nie tylko ciągi, ale także typy nieciągłe, takie jak typy dat, „14 lutego”, „12.11.2014” mogą być również przechowywane w typie danych varchar.
Nvarchar sugeruje odmienny charakter narodowy lub w zależności od kraju. Składnia nvarchar to NVARCHAR [(n | max)]. Nvarchar może przechowywać różne typy danych o różnej długości. Są to dane Unicode oraz dane i języki wielojęzyczne z chińskimi znakami dwubajtowymi. Nvarchar używa 2 bajtów na znak i może przechowywać maksymalny limit 4000 znaków i maksymalną długość 2 GB. Nvarchar traktuje „” jako pusty ciąg i zerową długość znaku. Rozmiar pamięci to dwukrotność liczby znaków plus dwa bajty. W nvarchar końcowe spacje nie są usuwane, gdy wartość jest przechowywana i odbierana.
Kluczowa różnica między varchar i nvarchar wskazuje, w jaki sposób dane są przechowywane w bazie danych.
• Varchar przechowuje wartości ASCII, a nvarchar przechowuje znaki Unicode.
• Varchar używa jednego bajtu na znak, podczas gdy nvarchar używa dwóch bajtów na znak.
• Varchar [(n)] przechowuje znaki inne niż Unicode o zmiennej długości, a Nvarchar [(n)] przechowuje znaki Unicode o zmiennej długości.
• Varchar może przechowywać maksymalnie 8000 znaków innych niż Unicode, a nvarchar przechowuje maksymalnie 4000 znaków Unicode lub innych niż Unicode.
• Varchar lepiej jest używać w miejscach, w których znajdują się zmienne ze znakami innymi niż Unicode. Nvarchar jest używany w miejscach, w których znajdują się zmienne ze znakami Unicode.
• Rozmiar pamięci varchar to liczba bajtów równa liczbie znaków plus dwa bajty zarezerwowane dla przesunięcia. Nvarchar używa liczby bajtów równej dwukrotności liczby znaków plus dwa bajty zarezerwowane dla przesunięcia.
• Wszystkie nowoczesne systemy operacyjne i platformy programistyczne wykorzystują wewnętrznie Unicode. Dlatego nvarchar jest częściej używany niż varchar, aby uniknąć konwersji typów danych.
Streszczenie:
Nvarchar vs Varchar
Varchar i nvarchar to typy danych o zmiennej długości, których używamy do przechowywania różnych typów ciągów. Te typy danych są pomocne w nowoczesnych systemach operacyjnych. Te odmiany typów danych pozwalają uniknąć konwersji danych z jednego typu na inny zgodnie z systemami operacyjnymi. Dlatego varchar i nvarchar pomagają programiście w identyfikowaniu ciągów Unicode i innych niż Unicode bez większych trudności. Te dwa typy danych są bardzo przydatne w programowaniu.
Obrazy dzięki uprzejmości: