Freigeben über


Ergänzende Zeichen

Aktualisiert: 12. Dezember 2006

In SQL Server 2005 wird ein UCS-2-Codierungsschema zum Codieren von Unicode-Zeichen im binären Format verwendet. Für einige Sprachen (z. B. Chinesisch) sind zusätzliche Zeichen definiert, die weniger häufig verwendet werden und nicht im Unicode-Standard enthalten sind. UCS-2 speichert diese Zeichen (ergänzende Zeichen) als zwei nicht definierte Unicode-Zeichen, die ein ergänzendes Zeichen im Speicher definieren, wenn Sie miteinander kombiniert werden. Auf diese Weise werden in SQL Server zusätzliche Zeichen gespeichert, ohne dass die Gefahr von Verlusten oder Beschädigungen besteht. Zudem können Sie in SQL Server 2005 zusätzliche Zeichen in einer beliebigen SQL Server-basierten Anwendung verwenden und anzeigen. Hierzu zählen auch auf Tools basierende Anwendungen, beispielsweise Business Intelligence.

Wenn Sie einen Microsoft-Eingabemethoden-Editor (Input Method Editor, IME) für Windows Vista oder Microsoft Office 2007 verwenden, werden zusätzliche Zeichen durch die UCS-Codepunkte U+10000 oder höher dargestellt.

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 verwendet werden. Diese Vergleiche basieren nur auf Codepunkten und nicht auf anderen linguistisch sinnvollen Methoden. Gehen Sie vorsichtig vor, wenn Sie ergänzende Zeichen in Operationen wie ORDER BY, GROUP BY und DISTINCT verwenden, und insbesondere wenn ergänzende und nicht ergänzende Zeichen in dieselbe Operation einbezogen werden. Die Sortierungsversionen von SQL Server 90 werden durch das Suffix 90 nach Ihren Namen gekennzeichnet. Verwenden Sie z. B. anstelle der Sortierung Japanese die Sortierung Japanese_90. Weitere Informationen finden Sie unter Sortierungseinstellungen im Setup-Programm.
  • Da ergänzende Zeichen als Paare zweier Doppelbyte-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, und die NCHAR-Funktion gibt ein Zeichen zurück, die nur die Hälfte des Paares aus ergänzenden Zeichen darstellt. Wenn ein binary- oder varbinary-Wert in ein ergänzendes Zeichen konvertiert wird, wird zudem nur eine Hälfte des Paares aus ergänzenden Zeichen erzeugt.
  • Die Funktionen LEFT, RIGHT, SUBSTRING, STUFF und REVERSE teilen möglicherweise Paare aus ergänzenden Zeichen und führen zu unerwarteten Ergebnissen.
  • Ergänzende Zeichen werden für die Verwendung mit Platzhalterzeichen, wie Unterstrich (_), Leerzeichen ( ) und Caretzeichen (^), nicht unterstützt.
  • Ergänzende Zeichen werden für die Verwendung in Metadaten, beispielsweise in Namen von Datenbankobjekten, nicht unterstützt.
  • Aufgrund ihres einzigartigen Speichermechanismus ist es möglich, dass durch das Vorhandensein ergänzender Zeichen bei Updatevorgängen in Bezug auf Server und Datenbanken zusätzliche Ressourcen verbraucht werden.

SQL Server 2005 stellt ein Beispiel zur Verfügung, das die Zeichenfolgenverarbeitung, bei der ergänzende Zeichen unterstützt werden, in einer CLR-Funktion (Common Language Runtime) veranschaulicht. Weitere Informationen finden Sie unter Zeichenfolgendarstellung mit ergänzenden Zeichen.

Siehe auch

Konzepte

Arbeiten mit Codierungen für Sonderzeichen

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

12. Dezember 2006

Neuer Inhalt:
  • Es wurde verdeutlicht, wie bestimmt wird, ob ein Zeichen ein zusätzliches Zeichen darstellt.