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

 

VARCHAR-Datentyp

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

Syntax
VARCHAR [ ( 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 VARCHAR
    Einbyte-Zeichensatz 32767 Zeichen
    Doppelbyte-Zeichensatz 16383 Zeichen
    UTF-8 8191 Zeichen

Bemerkungen

Mehrbyte-Zeichensätze können als VARCHAR gespeichert werden, aber die angegebene Länge bezieht sich auf Bytes, nicht auf Zeichen.

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

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 eine Embedded SQL-Clientanwendung eine DESCRIBE-Anweisung bei einer Spalte ausführt, die mithilfe von Bytelänge-Semantik deklariert wurde, entspricht die zurückgegebene Länge der angegebenen Bytelänge. Daher wird eine VARCHAR(10)-Spalte als Typ DT_VARCHAR mit einer Länge von 10 Byte beschrieben. Wenn jedoch eine Embedded SQL-Clientanwendung eine DESCRIBE-Anweisung für eine Spalte ausführt, die mithilfe von Zeichenlänge-Semantik deklariert wurde, ist die zurückgegebene Länge die maximale Bytelänge im CHAR-Zeichensatz des Clients. Beispiel: Bei einem Client, der UTF-8 als den CHAR-Zeichensatz verwendet, wird eine VARCHAR(10 CHAR)-Spalte als Typ DT_VARCHAR mit einer Länge von 40 Byte (10 Zeichen multipliziert mit einem 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.