National Character Large Object
und Nchar Large Object
Nationale Zeichenketten sind Typen mit einem vom System vorgegebenen Zeichensatz (IV194). Daher ist die Angabe der Character Set
-Klausel nicht zulässig. Die allgemeine Erwartung ist, dass der vorgegebene Zeichensatz Unicode ist.
Einige Systeme haben für einige Zeit Unicode nur in solchen, nationalen Zeichenketten unterstützt. Mittlerweile verwenden die meisten Systeme Unicode für alle Zeichenketten. Selbst SQL Server unterstützt Unicode in für normale Varchar-Typen seit der Release 2019. Dabei gab es allerdings eine lange Leidensgeschichte von Systemen, die nur die BMP von Unicode unterstützt haben – d. h. es werden z. B. keine Emojis unterstüzt. Berüchtigte Beispiele sind MySQL/MariaDB mit dem utf8mb3 Zeichensatz und SQL Server, wenn kann eine Collation ohne ergänzenden Zeichen (supplementary characters, _SC
) verwendet.
Die SQL-Typen National Character
, Nnational Char
, Nnchar
, National Character Varying
, Nnational Char Varying
, Nchar Varying
, National Character Large Object
, Nchar Large Object
und Nclob
sind als Teil der optionalen Funktion F421, „National character“ in ISO/IEC 9075-2:2023 definiert. Abgesehen von den Große-Objekt-Varianten (LOBs) waren sie bereits in SQL-92 (Intermediate-Level) verfügbar.
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