Ergänzende Zeichen
Die Datentypen nchar und nvarchar speichern jedes Zeichen als 16-Bit-Wert in einer Codierung mit dem Namen UCS-2. Diese vor 1996 von Versionen von Unicode definierte Codierung unterstützt Zeichen im Bereich U+0000 bis U+FFFF. In neueren Versionen von Unicode sind zusätzliche Zeichen im Bereich U+10000 bis U+10FFFF definiert. Sie werden ergänzende Zeichen genannt. Diese Zeichen werden als Paare von 16-Bit-Werten, Ersatzzeichen in einer Codierung UTF-16 gespeichert. Alle neuen _100-Ebenen-Sortierungen unterstützen die linguistische Sortierung mit ergänzenden Zeichen.
Wenn Sie ergänzende Zeichen verwenden, sollten Sie folgende Einschränkungen berücksichtigen:
Ergänzende Zeichen können bei Sortier- und Vergleichsvorgängen nur für Sortierungsversionen von SQL Server 90 oder höher verwendet werden.
Da ergänzende Zeichen als Paare zweier 16-Bit-Zeichen gespeichert werden, gibt die LEN()-Funktion für jedes ergänzende Zeichen, das in der Argumentzeichenfolge enthalten ist, den Wert 2 zurück. In ähnlicher Weise stellen die Funktionen CHARINDEX und PATINDEX auftretende ergänzende Zeichen innerhalb von Zeichenfolgen falsch dar.
Die Funktionen LEFT, RIGHT, SUBSTRING, STUFF und REVERSE teilen möglicherweise Ersatzpaare und führen zu unerwarteten Ergebnissen.
Ergänzende Zeichen werden für die Verwendung mit Platzhalterzeichen, wie Unterstrich (_), Prozent (%) und Caretzeichen (^), nicht unterstützt.
Ergänzende Zeichen werden für die Verwendung in Metadaten, beispielsweise in Namen von Datenbankobjekten, nicht unterstützt.
Ein Transact-SQL-Skript zu diesem Szenario finden Sie im Beispiel Supplementary-Aware String Manipulation. Weitere Informationen zu Beispielen finden Sie unter Überlegungen zum Installieren der SQL Server-Beispiele und -Beispieldatenbanken.