Unterschied zwischen Char und Varchar

Beide sind Datentypen in vielen Programmiersprachen und Datenbanksystemen, wobei 'char' auf Zeichen und 'varchar' auf variable Zeichen verweist. Zeichen in C stellt den Zeichentyp dar, der zum Speichern von Zeichenfolgenwerten, meist UTF-8-codierten Zeichen und Ganzzahlen, verwendet wird. Varchar ist andererseits ein Datentyp, der Daten beliebiger Art mit unbestimmter Länge enthalten kann. Varchar bezieht sich auf einen Datentyp eines Feldes in einem Datenbankverwaltungssystem. Während beide Zeichenfolgenwerte bis zu einer maximalen Länge von 8.000 Zeichen speichern können, benötigt char mehr Speicherplatz als varchar. Technisch gesehen werden beide verwendet, um die gleichen Arten von Daten zu speichern, aber sie unterscheiden sich in der Art, wie sie gespeichert und abgerufen werden. Werfen wir einen Blick auf ihre Unterschiede im Detail.

Was ist Char?

Char ist ein Datentyp mit fester Länge, der zum Speichern von Nicht-Unicode-Zeichen verwendet wird, daher der Name (Kurzform für Zeichen). Es belegt für jedes Zeichen ein Byte Speicherplatz, die als Zahlen kodiert sind - die aus der ASCII-Codierung. Der char-Typ kann auch verwendet werden, um kleine ganze Zahlen zu deklarieren. Um eine Zeichenvariable zu deklarieren, wird das Schlüsselwort 'char' verwendet, was bedeutet, dass ein einzelnes Zeichen in einem Byte gespeichert wird.

Wie die Integer-Typen kann char signiert oder vorzeichenlos sein. Es kann signierte char-Werte von -128 bis 127 enthalten und abhängig von der architektonischen Größe kann es auch vorzeichenlos sein und Werte von 0 bis 255 enthalten. Wenn char-Werte gespeichert werden, werden sie rechts mit Leerzeichen auf die angegebene Länge aufgefüllt . Die nachgestellten Leerzeichen werden beim Abrufen entfernt.

Beispiel: Wenn Sie eine Variable vom Datentyp char (7) deklarieren, werden immer 7 Byte Daten benötigt, unabhängig davon, ob Sie 1 oder 7 Zeichen speichern, dh Sie können maximal 7 Zeichen speichern die Kolumne.

Was ist Varchar?

Varchar ist, wie der Name schon sagt, ein Datentyp mit variabler Länge, der beliebige Daten mit einer Länge zwischen 0 und 65, 535 enthalten kann. Das Varchar-Feld kann Werte jeder Größe bis zu einer bestimmten Grenze speichern auf der Datenbank. Es kann entweder in Programmiersprachen oder auf Datenbankebene definiert werden. Die Größe des Varchar-Felds kann von Null bis zur maximal angegebenen Feldlänge reichen.

Um ein variables Zeichen zu deklarieren, wird das Schlüsselwort 'varchar' verwendet. Varchar verwendet einen Variablenraum, was bedeutet, dass nur die Anzahl der Bytes verwendet wird, die der Anzahl der Zeichen entspricht. Es hilft, die Verschwendung von Raum zu vermeiden, da es nur den Platz benötigt, der für die Größe der Schnur benötigt wird. In einigen Programmiersprachen und Datenbanksystemen wird zusätzlicher Speicherplatz automatisch aus der Datenbank entfernt.

Beispiel: Wenn Sie eine Variable von varchar (10) deklarieren, wird die Anzahl der Bytes verwendet, die der Anzahl der Zeichen entspricht.Wenn Sie also nur ein Zeichen speichern, dauert es nur ein Byte. Wenn Sie 10 Zeichen speichern, werden 10 Byte benötigt, um Speicherplatz zu sparen.

Differenz zwischen Char und Varchar

  1. Datentyp

'Char' ist ein Datentyp mit fester Länge, der zum Speichern von Zeichenfolgenwerten mit fester Länge verwendet wird, während 'Varchar' ein Datentyp mit variabler Länge ist wird verwendet, um alphanumerische Daten mit variabler Länge zu speichern.

  1. Speichergröße

Die Speichergröße des Zeichenwerts entspricht der maximalen Größe dieser Spalte, die Sie beim Erstellen der Tabelle deklariert haben. Auf der anderen Seite ist die Speichergröße des Varchar-Werts die tatsächliche Länge der eingegebenen Daten, nicht die maximale Größe für diese Spalte.

  1. Dateneinträge

Sie können char verwenden, wenn erwartet wird, dass die Dateneinträge in einer Spalte die gleiche Größe haben. Im Gegensatz dazu kann varchar verwendet werden, wenn erwartet wird, dass die Dateneinträge in einer Spalte in der Größe variieren.

  1. Speicherzuordnung

Char verwendet statische Speicherzuweisung, während Varchar dynamische Speicherzuweisung verwendet

  1. Länge

Die Länge einer Char-Variable kann einen beliebigen Wert von 0 bis 255 haben, während die Länge der Variable Varchar reicht 0 bis 65, 535.

  1. Anwendung

Dateneinträge sind in char konsistent, die zum Speichern von Daten wie Telefonnummern verwendet werden, während varchar zum Speichern von unterschiedlichen Daten wie Adressen verwendet wird.

Char varchar

Char Varchar
Wird zum Speichern von Zeichenfolgenwerten mit fester Länge verwendet. Dient zum Speichern von alphanumerischen Daten variabler Länge.
Die Länge variiert von 0 bis 255. Die Länge variiert von 0 bis 65, 535.
Nimmt 1 Byte pro Zeichen für die Speicherung. Nimmt 1 Byte pro Zeichen plus 1 oder 2 zusätzliche Bytes zum Speichern von Längeninformationen.
Die Speichergröße von char ist die gleiche wie deklariert. Die Speichergröße von varchar hängt von der spezifischen gespeicherten Zeichenfolge ab.
Verwendet statische Speicherzuweisung. Verwendet dynamische Speicherzuweisung.
Char sollte verwendet werden, wenn die Länge der Variablen bekannt ist. Varchar sollte nur verwendet werden, wenn die Länge der Variablen nicht bekannt ist.
Es akzeptiert nur Zeichen. Es akzeptiert sowohl Zeichen als auch Zahlen.
Es ist 50 Prozent schneller als Varchar. Es ist langsamer als Char.
Die Speichergröße des Zeichenwerts entspricht der maximalen Größe für die Spalte. Die Speichergröße des Varchar-Werts entspricht der tatsächlichen Länge der eingegebenen Daten, nicht der maximalen Größe für die Spalte.

Zusammenfassung

  • Sowohl 'Char' als auch 'Varchar' sind Datentypen in Programmiersprachen und Datenbanksystemen, die einige gemeinsame Merkmale in Bezug auf Funktionalität und Technik aufweisen. Sie unterscheiden sich jedoch erheblich in der Art, wie sie gespeichert und abgerufen werden.
  • Während char sich auf ein Zeichen bezieht, bezieht sich varchar auf ein variables Zeichen. Wie der Name schon sagt, ist char ein Datentyp mit fester Länge, während varchar ein Datentyp mit variabler Länge ist.
  • Char nimmt bis zu 1 Byte pro Zeichen auf, während Varchar auch bis zu 1 Byte pro Zeichen und zusätzlich 1 oder 2 Byte zum Speichern von Längeninformationen benötigt.Für Char liegt die Länge zwischen 0 und 255 und für Varchar zwischen 0 und 65, 535.
  • Da char eine feste Länge hat, wird das verbleibende Leerzeichen im Feld mit Leerzeichen aufgefüllt. Varchar hingegen hat eine variable Länge und enthält nur die Zeichen, die Sie ihm zuweisen.
  • Verbleibende Zeichen werden mit weißen Leerstellen aufgefüllt, wenn die Werte in 'char'-Feldern gespeichert werden, während' varchar 'keine zusätzlichen Leerzeichen hinzufügt, wenn Sie weniger Daten als die angegebene Länge angeben.