In der Welt der Datenbanken gibt es eine Vielzahl an Datentypen die wichtige Funktionen erfüllen. Einer dieser häufig verwendeten Datentypen – VARCHAR – spielt dabei eine zentrale Rolle. Was bedeutet dieser Begriff genau? Es handelt sich um einen Zeichen-Datentyp, dessen Größe beim Anlegen einer Datenbanktabelle festgelegt wird. Bei VARCHAR kann der Speicherplatz variabel sein. Genauer gesagt ´ ist es möglich ` bis zu 50 Zeichen zu speichern. Aber was bedeutet das konkret für die Handhabung Ihrer Daten?
Zunächst wird ein VARCHAR-Feld nicht wie bei CHAR mit einer festen Länge angelegt. Der entscheidende Vorteil: Es wird nur der tatsächlich eingegebenegespeichert. Beispielsweise, wenn Sie nur 10 Zeichen eingeben, werden ebenfalls nur diese 10 Zeichen im Speicher abgelegt – kein Platz für unnötige Leerzeichen, sodaß nur die essentielle Information verbleibt. Mit CHAR hingegen ist die Speicherweise anders. Unabhängig davon ebenso wie viele Zeichen tatsächlich eingegeben wurden wird immer auf die angegebene Länge von 50 Zeichen aufgefüllt. In der Praxis bedeutet das: Bei Verwendung von CHAR wird die restliche Länge mit Leerzeichen gefüllt was Speicherplatz ineffizient nutzt.
Das ist jedoch nicht das einzige Detail, das beachtet werden sollte. Bei der Verwendung von VARCHAR2 ´ einer erweiterten Version von VARCHAR ` bleibt die maximale Zeichenanzahl ähnlich wie bei 50. Historisch betrachtet optimiert dieser Typ die Speicherung. Sie möchten wissen wie viel Speicherplatz für Zeichen genutzt wird? Ein ASCII-Zeichen benötigt 1 Byte. Somit belegt ein aktuell genutztes VARCHAR-Feld in der Regel nur den Platz der tatsächlich für Inhalt benötigt wird, ohne auf die maximale Länge „aufgefüllt“ zu werden.
Allerdings finden wir auch ein paar weitere Angaben in der Datenbank: Der NVARCHAR-Datentyp steht ebenfalls zur Verfügung. Auch hier können bis zu 50 Zeichen gespeichert werden. Es gibt jedoch eine wichtige Differenz. NVARCHAR unterstützt Sonderzeichen und benötigt pro Zeichen etwa 2 Byte. Diese Unterscheidung ist oft praktisch insbesondere wenn internationale Zeichen benötigt werden.
Sie fragen sich was passiert, wenn weiterhin als 50 Zeichen eingegeben werden? In solch einem Fall werden zusätzliche Zeichen einfach ignoriert. Um das besser zu verstehen, stellen Sie sich vor, Sie geben in ein VARCHAR(Feld) 60 Zeichen ein. Das Ergebnis: Es wird nur die ersten 50 Zeichen gespeichert – der Rest wird verworfen. Dies kann in Programmieranwendungen relevant sein und kann zu unerwartetem Verhalten führen, wenn nicht vorsichtig programmiert wird.
Zusammenfassend lässt sich festhalten: VARCHAR ist ein extrem vielseitiger Datentyp in SQL der sich ideal für Felder eignet, in denen die Zeichenlänge variiert. Die Flexibilität nur den tatsächlich benötigten Platz zu nutzen zusammen mit der Möglichkeit, bis zu 50 Zeichen zu speichern, macht ihn zu einer idealen Wahl für viele Anwendungen. Der Einsatz von NVARCHAR zeigt – dass auch die Unterstützung von Sonderzeichen leicht realisiert werden kann. Stellt man dies alles zusammen, erkennt man, dass das Verständnis des VARCHAR-Datentyps für Datenbankentwickler von entscheidender Bedeutung ist – um sowie Effizienz als auch Genauigkeit in ihren Datenbankanwendungen zu gewährleisten.
