Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 13630|Antwort: 0

[Tipps] Sehen Sie SQL-Anweisungen im SQLserver-Codierungsformat und SQLSERVER-Kollierungsregeln an

[Link kopieren]
Veröffentlicht am 27.10.2016 12:50:16 | | | |
SELECTIERE COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
Hier sind die Abfrageergebnisse:
936 vereinfachte Chinesische GBK
950 Chinesische Traditionelle BIG5
437 US/Kanadisches Englisch
932 Japaner
949 Koreanisch
866 Russisch
65001 Unicode UFT-8




Bei der Installation von SQL SERVER 2008 haben wir, weil wir die Standardinstallation gewählt haben, sie erstelltBei der Datenbank ist die vom Server gewählte Standardsortierregel eine SQL_Latin1_General_CP1_CI_AS Sortierungsregel, sodass beim Einfügen von Text in die Datentabelle dieser nicht normal angezeigt wird, sondern mit "? stattdessen.
Wenn wir dann eine Datenbank erstellen, müssen wir manuell eine Kollierungsregel angeben, die als Chinese_PRC_CI_AS Kollierung ausgewählt werden kann, wie in der untenstehenden Abbildung gezeigt.





Sortierregeln:
Die in SQLSEVER2005 verwendeten Sortierregeln sind SQL_Latin1_General_CP1_CI_AS, nicht die drei Sortierregeln, die vereinfachte chinesische Zeichen korrekt darstellen können:
Chinese_PRC_BIN,
Chinese_PRC_CI_AS,
Chinese_PRC_CS_AS。
Werfen Sie einen Blick auf MS' Erklärung zur Kollation: Collation Rules Control Physical Storage of Strings in SQL Server 2005. Kollektionsregeln geben das Bitmuster an, das jedes Zeichen repräsentiert, sowie die Regeln zum Speichern und Vergleich der Zeichennutzung.
Das heißt, in SQLSERVER ist die Sortierung tatsächlich die Zeichenkodierung.
Indem Sie die folgende Anweisung im Abfrageanalysator ausführen, können Sie alle von SQL SERVER unterstützten Kollierungsregeln erhalten.
Wählen Sie * aus ::fn_helpcollations()
Der Name der Kollation besteht aus zwei Teilen, wobei der erste Teil den von dieser Kollation unterstützten Zeichensatz bezieht.
Zum Beispiel: Chinese_PRC_CS_AI_WS
Die erste Hälfte bezieht sich auf den UNICODE-Zeichensatz und Chinese_PRC_refers auf die Sortierregeln für das vereinfachte chinesische Zeichen UNICODE.
Die zweite Hälfte der Kollation ist die Bedeutung des Suffixes:
_BIN Binärsortierung
_CI(CS) Ob es case-sensitiv ist, CI ist nicht sensitiv und CS ist sensibel
_AI (AS) Ob zwischen Akzenten unterschieden soll, unterscheidet KI nicht, AS unterscheidet
_KI(KS) Ob man zwischen Pseudonymtypen unterscheiden soll, KI nicht, KS unterscheidet
_WI(WS) ist nicht breitenunterscheidet, WS ist nicht differenziert
Groß- und Kleinschreibung: Wähle diese Option, wenn du Vergleiche möchtest, um Groß- und Kleinbuchstaben als ungleich zu behandeln.
Unterscheide zwischen Akzenten: Wähle diese Option, wenn du Vergleiche möchtest, um akzentuierte und ungestrissene Buchstaben als ungleich zu behandeln. Wenn du diese Option wählst, behandelt der Vergleich auch Buchstaben mit unterschiedlichen Akzenten als ungleich.
Unterscheide Kana: Wähle diese Option, wenn du möchtest, dass der Vergleich die Silben von Katakana und Hiraka Day als ungleich behandelt wird.
Breitendifferenzierung: Wähle diese Option, wenn du möchtest, dass der Vergleich halbe und volle Breite als ungleich behandelt wird.
Nach Verständnis der Kollierungsregeln in SQLSERVER können folgende Schlussfolgerungen für das obige Problem gezogen werden:
1. Die SQLSERVER-Benutzerdatenbank so modifizieren, dass sie die Sortierung chinesischer Zeichensätze unterstützt.
2: Für die Darstellung chinesischer Zeichen??, aber die Sortierregeln in der Datenbank nicht ändern und chinesische Zeichen korrekt darstellen möchten, wird empfohlen, alle Unicode-Typfelder im Design zu verwenden, also jene Feldtypen, die mit N beginnen, wie nChar, nVarchar, um chinesische Zeichen korrekt darzustellen.
3: Wenn du die Sortierregel oder den Feldtyp nicht ändern möchtest, musst du die SQL-Anweisung ändern, und für alle chinesischen Zeichen musst du auch N davor hinzufügen, um sie korrekt darzustellen. Bitte beachten Sie die folgenden beiden Aussagen für spezifische Methoden:
Abfrage: Wählen Sie * aus tb_Cust aus, wo FirstName=N'Wang'
Einfügen: Einfügen tb_Cust(Vorname, Nachname, Geschlecht) Werte (N'Wang', N'Xinhao', N'Male')
Hinweis: Für die Zukunft wird es umständlicher sein, die Server-Level-Kollationsregel nach SQLSERVER2000 zu ändern, und es ist notwendig, die Master-Datenbank neu aufzubauen.

Derzeit können wir für bereits erstellte Datenbanken auch die Sortiermethode auf der Optionsseite im Eigenschaftenfenster der Datenbank ändern, sodass beim Einfügen von Text in die Datentabelle keine Fehlermeldungen angezeigt werden!





Vorhergehend:SQL bestimmt, ob eine Spalte chinesische oder englische Zeichen enthält
Nächster:SQL bestimmt, ob eine Spalte chinesische oder englische Zeichen enthält
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com