Der Unterschied zwischen varchar und nvarchar gibt an, wie Daten in einer Datenbank gespeichert werden. Ein Datenbanksystem besteht aus Daten und Daten werden durch Datentypen definiert. Ein Datentyp gibt an, welchen Wert eine Spalte enthalten kann. Jede Spalte in einer Datenbanktabelle muss einen Namen und einen Datentyp haben. Heutzutage gibt es viele Datentypen beim Datenbankdesign. Von diesen Datentypen werden varchar und nvarchar zum Speichern von Zeichenfolgen verwendet. Varchar und Nvarchar scheinen austauschbar zu sein. Diese beiden Typen haben jedoch unterschiedliche Vorteile und werden für unterschiedliche Zwecke verwendet.
Wie der Name schon sagt, ist Varchar a variierender Charakter oder variierende Zeichen. Die Syntax von varchar ist VARCHAR [(n | max)]. Varchar speichert ASCII-Daten, die keine Unicode-Daten sind. Dies ist der Datentyp, der bei normaler Verwendung verwendet wird. Varchar verwendet ein Byte pro Zeichen. Es speichert auch die Länge jeder Zeichenfolge in der Datenbank. Varchar hat eine variable Datenlänge und kann maximal 8000 Nicht-Unicode-Zeichen speichern. Dieser Datentyp ist sehr flexibel und akzeptiert die unterschiedlichsten Daten. In Varchar können Sie keine leeren Zeichen für die nicht verwendeten Teile der Zeichenfolge speichern. Die maximale Speichergröße von varchar beträgt 2 GB. Die tatsächliche Speichergröße der Daten entspricht der tatsächlichen Datenlänge plus zwei Byte. Obwohl varchar langsamer als char ist, verwendet es dynamische Speicherzuordnung. Nicht nur Zeichenfolgen, sondern auch Nicht-Zeichenfolgen-Typen wie Datumstypen, "14. Februar", "11.12.2014", können auch im Datentyp "varchar" gespeichert werden.
Nvarchar schlägt vor, a national unterschiedlicher Charakter oder ein nationales variierendes Zeichen. Die Syntax von nvarchar lautet NVARCHAR [(n | max)]. Nvarchar kann verschiedene Datentypen mit unterschiedlicher Länge speichern. Sie sind Unicode-Daten und mehrsprachige Daten und Sprachen mit Doppelbyte-ähnlichen Zeichen in Chinesisch. Nvarchar verwendet 2 Bytes pro Zeichen und kann maximal 4000 Zeichen und eine maximale Länge von 2 GB speichern. Nvarchar behandelt "" als leere Zeichenfolge und eine Länge von null Zeichen. Die Speichergröße ist doppelt so groß wie die Anzahl der Zeichen plus zwei Byte. In nvarchar werden die nachfolgenden Leerzeichen nicht entfernt, wenn der Wert gespeichert und empfangen wird.
Der Hauptunterschied zwischen varchar und nvarchar gibt an, wie Daten in einer Datenbank gespeichert werden.
• Varchar speichert ASCII-Werte und nvarchar speichert Unicode-Zeichen.
• Varchar verwendet ein Byte pro Zeichen, während nvarchar zwei Byte pro Zeichen verwendet.
• Varchar [(n)] speichert Nicht-Unicode-Zeichen mit variabler Länge und Nvarchar [(n)] speichert Unicode-Zeichen mit variabler Länge.
• Varchar kann maximal 8000 Nicht-Unicode-Zeichen und nvarchar maximal 4000 Unicode- oder Nicht-Unicode-Zeichen speichern.
• Varchar ist besser an Stellen zu verwenden, an denen sich Variablen mit Nicht-Unicode-Zeichen befinden. Nvarchar wird an Orten verwendet, an denen Variablen mit Unicode-Zeichen vorhanden sind.
• Die Speichergröße von varchar ist die Anzahl der Bytes, die der Anzahl der Zeichen plus zwei Bytes entspricht, die für den Offset reserviert sind. Nvarchar verwendet eine Anzahl von Bytes, die der doppelten Anzahl von Zeichen plus zwei Bytes entspricht, die für den Offset reserviert sind.
• Alle modernen Betriebssysteme und Entwicklungsplattformen verwenden intern Unicode. Daher wird nvarchar eher als varchar verwendet, um die Konvertierung von Datentypen zu vermeiden.
Zusammenfassung:
Nvarchar vs Varchar
Varchar und nvarchar sind Datentypen mit variabler Länge, die zum Speichern verschiedener Typen von Strings verwendet werden. Diese Datentypen sind in modernen Betriebssystemen hilfreich. Diese Datentypen vermeiden je nach Betriebssystem die Konvertierung von Daten von einem Typ zu einem anderen. Deshalb helfen varchar und nvarchar dem Programmierer, Unicode- und Nicht-Unicode-Zeichenfolgen ohne große Schwierigkeiten zu identifizieren. Diese beiden Datentypen sind sehr nützlich bei der Programmierung.
Bilder mit freundlicher Genehmigung: