T062, „Character length units“


BigQueryDb2 (LUW)DerbyH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite20092011201320152017201920212023⊘ 3.5.7 - 3.50.0⊘ 2008R2 - 2022⊘ 8.3 - 17⊘ 11gR1 - 23.9a⊘ 5.0 - 9.3.0⊘ 5.1 - 12.0.2⊘ 1.4.192 - 2.3.232⊘ 10.15.1.3 - 10.17.1.0⚠ 10.5 - 12.1.2bc⊘ 9.7a⊘ 2.0
  1. Nicht-Standard Alternativen verfügbar
  2. Nur Octets
  3. Nicht für nationale Typen

Bei Zeichenketten-Typen kann man bei der Länge angeben, ob damit Zeichen oder Octets (also Bytes) gemeint sind.

CREATE TABLE … (
  c1 VARCHAR(10),
  c2 VARCHAR(10 CHARACTERS),
  c3 VARCHAR(10 OCTETS)
)

Ohne diese Zusatzangabe sind Zeichen gemeint.✓✗0 Im folgenden ist dargestellt, dass sich nicht alle Systeme an diese Regel halten. Beachte, dass das Verhalten auch vom Voreinstellungen der Installation, wie z. B. dem Zeichensatz, abhängen kann.

BigQuery 2025-09-02Db2 (LUW) 12.1.2aaDerby 10.17.1.0H2 2.3.232MariaDB 12.0.2MySQL 9.3.0Oracle DB 23.9bbbPostgreSQL 17SQL Server 2022deSQLite 3.50.0cccDefault-Einheit: CharactersDefault-Einheit:     octetsDefault-Einheit: 16-Bit-Einheiten
  1. Characters for national types, depends on nls_string_units for the other types
  2. 16-Bit-Einheiten für nationale Typen, abhängig von nls_length_semantics für die anderen Typen
  3. Längenbeschränkung wird nicht erzwungen
  4. Mit UTF8
  5. Mit der Voreinstellung beobachtet

Nicht-Standard Alternativen

Der SQL-Standard verwendet die Schlüsselworte Characters und Octets (beide in der Mehrzahl) für die Längeneinheit. Dennoch verwenden einige Systeme andere Begriffe.

BigQuery 2025-09-02Db2 (LUW) 12.1.2aaDerby 10.17.1.0H2 2.3.232MariaDB 12.0.2MySQL 9.3.0Oracle DB 23.9aaaPostgreSQL 17SQL Server 2022SQLite 3.50.0bytecharcharactercodeunits32
  1. Nicht für nationale Typen
Vorgeschriebene Funktionen
Optionale Funktionen
Vom System vorgegebene Elemente

Normative Referenzen

Die <character length unit>-Angabe wurde mit ISO/IEC 9075-2:2003 als Teil der optionalen Funktion T061, „UCS support“ eingeführt. Mit der 2023-Ausgabe des Standards hat sie eine eigene Feature-ID erhalten: T062, „Character length units“.

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Fußnoten

  1. ISO/IEC 9075-2:2023 §6.1 SR 9

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf TwitterMarkus Winand auf Bluesky
Copyright 2015-2025 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO