Octets
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.
Characters
for national types, depends on nls_string_units
for the other typesnls_length_semantics
für die anderen TypenDer SQL-Standard verwendet die Schlüsselworte Characters
und Octets
(beide in der Mehrzahl) für die Längeneinheit. Dennoch verwenden einige Systeme andere Begriffe.
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.
Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how
ISO/IEC 9075-2:2023 §6.1 SR 9