Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Datentypen » Zeichendatentypen

 

CHAR-Datentyp

Der CHAR-Datentyp speichert Zeichen von bis zu 32.767 Byte.

Syntax
CHAR [ ( Maximallänge [ CHAR | CHARACTER ] ) ]
Parameter
  • Maximallänge   Die Maximallänge der Zeichenfolge. Wenn Bytelänge-Semantik verwendet wird (CHAR oder CHARACTER wird nicht als Teil der Länge angegeben), ist die Länge in Bytes, und sie muss im Bereich von 1 bis 32.767 liegen. Wenn keine Länge angegeben ist, ist ihr Wert "1".

    Wenn Zeichenlänge-Semantik verwendet wird (CHAR oder CHARACTER wird als Teil der Länge angegeben), ist die Länge in Zeichen, und Sie müssen eine Maximallänge angeben. Wenn Sie Zeichenlänge-Semantik verwenden, darf die Länge, multipliziert mit der Maximallänge eines Zeichens in der Datenbankkodierung, nicht 32.767 Byte überschreiten. Die folgende Tabelle enthält die Maximallängen für die unterstützten Zeichensatztypen:

    Zeichensatz Maximallänge von CHAR
    Einbyte-Zeichensatz 32767 Zeichen
    Doppelbyte-Zeichensatz 16383 Zeichen
    UTF-8 8191 Zeichen

Bemerkungen

Mehrbyte-Zeichen können als CHAR gespeichert werden, aber die deklarierte Länge bezieht sich auf Byte und nicht auf Zeichen, es sei denn es wird Zeichenlänge-Semantik verwendet.

CHAR kann auch als CHARACTER angegeben werden. Unabhängig von der verwendeten Syntax wird der Datentyp als CHAR beschrieben.

CHAR entspricht semantisch VARCHAR, auch wenn es sich um unterschiedliche Typen handelt. In SQL Anywhere ist CHAR ein Typ mit variabler Länge. In anderen relationalen Datenbankverwaltungssystemen ist CHAR ein Typ mit fester Länge und Daten werden mit Leerzeichen bis zur Maximallänge in Byte aufgefüllt. SQL Anywhere füllt gespeicherte Zeichendaten nicht mit Leerzeichen auf.

Abhängig von der verwendeten Schnittstelle kann sich eine Verwendung der Zeichenlänge-Semantik auf die Rückgabe auswirken, wenn ein Client eine DESCRIBE-Anweisung für eine Spalte ausführt. Beispiel: Wenn ein Embedded SQL-Client DESCRIBE bei einer Spalte ausführt, die unter Verwendung der Bytelänge-Semantik deklariert wurde, wird die Länge in der angegebenen Bytelänge zurückgegeben. Daher wird eine CHAR(10)-Spalte als Typ DT_FIXCHAR mit einer Länge von 10 Byte beschrieben. Wenn jedoch ein Embedded SQL-Client eine DESCRIBE-Anweisung für eine Spalte ausführt, die unter Verwendung der Zeichenlänge-Semantik deklariert wurde, entspricht die zurückgegebene Länge der angegebenen Bytelänge. Beispiel: Bei einem Embedded SQL-Client, der UTF-8 als den CHAR-Zeichensatz verwendet, wird eine CHAR(10 CHAR)-Spalte als DT_FIXCHAR-Typ mit einer Länge von 40 Byte (10 Zeichen multipliziert mit dem Maximum von vier Bytes pro Zeichen) beschrieben.

Siehe auch
Standards und Kompatibilität
  • SQL/2003   Kompatibel mit SQL/2003. Zeichenlänge-Semantik ist eine Erweiterung des Herstellers.