Auswirkungen von Data Manipulation Language

Die Verwendung der NCHAR- und NVARCHAR-Zeichensätze hat Auswirkungen auf die Reihenfolge und Sortierung sowie auf Vergleiche, Joins und Aggregate.

  • ORDER BY und GROUP BY

    Die Sortierung ist binär.

  • Vergleiche

    Alle Vergleiche, die Joins, Filterung und allgemeine Ausdrücke enthalten, sowie implizit in Gruppierungen und Aggregationen enthaltene Vergleiche erfolgen durch binäre Sortierung.

  • JOIN

    Bei Joinvergleichen wird die binäre Sortierung verwendet.

  • Aggregationen

    Sie können Aggregationen des Typs min, max und distinct für Zeichenspalten über die binäre Sortierung durchführen.

  • Umsetzung

    Sie können zwischen den CHAR- und NCHAR-Datentypen umsetzen. Da jedes Zeichen, das in CHAR dargestellt werden kann, auch in NCHAR dargestellt werden kann, ist die Umsetzung von CHAR in NCHAR verlustfrei. Beispiel: cast (<char-col> as nchar(10)). Bei der Umsetzung von NCHAR in CHAR kommen möglicherweise Zeichen vor, die nicht in einer CHAR-Spalte dargestellt werden können, da NCHAR alle Unicode-Varianten speichern kann, aber CHAR nur Latin-9. Zeichen, für die keine Latin-9-Darstellung möglich ist, werden in ein Fragezeichen umgesetzt.

  • SQL-Musterabgleich

    Sie können für NCHAR-Klassendaten einen Standardmusterabgleich von Vergleichselementen ausführen.

  • Mischen von CHAR und NCHAR

    Sie können einen Join über CHAR- und NCHAR-Spalten hinweg erstellen.

  • Zeichenfolgefunktionen für NCHAR-Daten

    Sie können die Standardfunktionen für die Bearbeitung von Zeichenfolgen verwenden, z. B. to_char, to_date, upper und lower. Weitere Informationen zu diesen Funktionen finden Sie in Tabelle 1 und Tabelle 1.

    Hinweis: String-Konvertierungsfunktionen wie ' upper und ' lower verwenden nicht die SpecialCasing der Unicode-Organisation, sondern die Regeln in ' UnicodeData.txt. Die SpecialCasing-Regeln verursachen manchmal unerwünschte Ergebnisse, z. B. wenn durch sie die Länge einer Zeichenfolge geändert wird.

Zeichen in (VAR)CHAR- und N(VAR)CHAR-Spalten können verglichen und verknüpft werden. Netezza Performance Server führt die erforderlichen Kodierungskonvertierungen durch. Deshalb wird das Zeichen À in einer CHAR-Spalte und das Zeichen À in einer NCHAR-Spalte bei einem Vergleich als identisch erkannt, obwohl die Zeichen eine unterschiedliche Codierung aufweisen. Analog werden Daten aus einer CHAR-Spalte möglicherweise in eine NCHAR-Spalte eingefügt. Den umgekehrten Fall gibt es ebenso, aber da Unicode tausende von Zeichen darstellen kann und Latin-9 nur etwa 200, sind viele Zeichen, die in einer NCHAR-Spalte stehen könnten, in einer CHAR-Spalte nicht darstellbar. Diese Zeichen werden durch ein Fragezeichen in der CHAR-Spalte ersetzt.