723 Stimmen

Was ist der Unterschied zwischen char, nchar, varchar und nvarchar in SQL Server?

Was ist gemeint mit nvarchar ?

Was ist der Unterschied zwischen char , nchar , varchar et nvarchar in SQL Server?

16voto

Rasel Punkte 5052

nchar[(n)] (nationaler Charakter)

  • Feste Länge Unicode String-Daten.
  • n definiert die Länge der Zeichenkette und muss ein Wert zwischen 1 und 4.000 sein.
  • Die Speichergröße beträgt das Zweifache n Bytes.

nvarchar [(n | max)] (nationaler Charakter unterschiedlich.)

  • Variable Länge Unicode String-Daten.
  • n definiert die Länge der Zeichenkette und kann einen Wert zwischen 1 und 4.000 annehmen.
  • max gibt an, dass die maximale Speichergröße 2^31-1 Byte (2 GB) beträgt.
  • Die Speichergröße in Bytes beträgt das Zweifache der tatsächlichen Länge der eingegebenen Daten + 2 Bytes

char [(n)] (Zeichen)

  • Feste Länge, non-Unicode String-Daten.
  • n definiert die Länge der Zeichenkette und muss ein Wert zwischen 1 und 8.000 sein.
  • Die Speichergröße beträgt n Bytes.

varchar [(n | max)] (Zeichen variieren)

  • Variable Länge, Nicht-Unicode String-Daten.
  • n definiert die Länge der Zeichenkette und kann einen Wert zwischen 1 und 8.000 annehmen.
  • max gibt an, dass die maximale Speichergröße 2^31-1 Byte (2 GB) beträgt.
  • Die Speichergröße entspricht der tatsächlichen Länge der eingegebenen Daten + 2 Byte.

15voto

ss. Punkte 151
  • char : Zeichendaten fester Länge mit einer maximalen Länge von 8000 Zeichen.
  • nchar : Unicodedaten fester Länge mit einer maximalen Länge von 4000 Zeichen.
  • Char = 8 Bit Länge
  • NChar = 16 Bit Länge

12voto

Jason Kresowaty Punkte 15567

Nchar(10) ist eine Unicode-Zeichenkette fester Länge mit der Länge 10. nvarchar(10) ist eine Unicode-Zeichenkette variabler Länge mit einer maximalen Länge von 10. Normalerweise verwenden Sie nchar, wenn alle Datenwerte 10 Zeichen lang sind, und nvarchar, wenn die Länge variiert.

10voto

Nchar erfordert mehr Platz als nvarchar.

z. B,

Ein nchar(100) speichert immer 100 Zeichen, auch wenn Sie nur 5 eingeben, die Die restlichen 95 Zeichen werden mit Leerzeichen aufgefüllt. Wenn Sie 5 Zeichen in einem nvarchar(100) speichern, werden 5 Zeichen gespeichert.

8voto

Wim ten Brink Punkte 25248

Die Unterschiede sind:

  1. n[var]char speichert Unicode, während [var]char nur Ein-Byte-Zeichen speichert.
  2. [n]char erfordert eine feste Anzahl von Zeichen mit der exakten Länge, während [n]varchar eine variable Anzahl von Zeichen bis einschließlich der definierten Länge zulässt.

Ein weiterer Unterschied ist die Länge. Sowohl nchar als auch nvarchar können bis zu 4.000 Zeichen lang sein. Und char und varchar können bis zu 8000 Zeichen lang sein. Für SQL Server können Sie aber auch ein [n]varchar(max) verwenden, das bis zu 2.147.483.648 Zeichen verarbeiten kann. (Zwei Gigabyte, eine vorzeichenbehaftete 4-Byte-Ganzzahl.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X