SQL Server的排序规则(collation)冲突和解决方案
什么是排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多。 这些排序
什么是排序规则(collation)
关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多。
这些排序规则有什么作用呢?让我们先来看看MS官方的解释:
排序规则指定了表示每个字符的位模式。它还指定了用于排序和比较字符的规则。排序规则具有下面的特征:
语言
区分大小写
区分重音
区分假名
比如在SQL Server 2005中,排序规则名称由两部份构成,比如 Chinese_PRC_CI_AI_WS
前半部份是指本排序规则所支持的字符集,,如Chinese_PRC 指针对大陆简体字UNICODE的排序规则。
后半部份即后缀的含义如下:
_BIN 指定使用向后兼容的二进制排序顺序。
_BIN2 指定使用 SQL Server 2005 中引入的码位比较语义的二进制排序顺序。
_Stroke 按笔划排序
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音,AI不区分,AS区分
_KI(KS) 是否区分假名类型,KI不区分,KS区分
_WI(WS) 是否区分全半角,WI不区分,WS区分
既然排序规则如此复杂,那么应用了不同排序规则的列之间默认情况下便不能进行Union、Join、Like等equal操作了,于是便有了排序规则(collation)冲突。
排序规则(collation)冲突。
我们知道,SQL Server 从2000 开始,便支持多个排序规则。SQL Server 2000 的数据库可使用除默认排序规则以外的其他排序规则。此外,SQL Server 2000 还支持为列专门制定排序规则。
这样一来,我们在写跨表、跨数据库、跨服务器操作的T-SQL时,如果equal的字段排序规则不同,便会发生排序规则冲突。
比如我们先见两个结构相同的表,但字段的排序规则不同:
Copy to Clipboard
-- 1. Create TableA.
CREATE TABLE TagsTableA
(
TagName NVARCHAR(64) COLLATE Chinese_PRC_BIN
)
-- 2. Create TableB.
CREATE TABLE TagsTableB
(
TagName NVARCHAR(64) COLLATE Chinese_PRC_CI_AS
)
当表建好之后执行:
Copy to Clipboard
-- 3. Try to join them
SELECT * from TagsTableA A INNER JOIN TagsTableB B on A.TagName = B.TagName
便会出下类似下面的问题:
无法解决 equal to 操作中 "Chinese_PRC_BIN" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Win11 ist das neueste von Microsoft eingeführte Betriebssystem. Im Vergleich zu früheren Versionen hat Win11 das Schnittstellendesign und die Benutzererfahrung erheblich verbessert. Einige Benutzer berichteten jedoch, dass sie nach der Installation von Win11 auf das Problem gestoßen waren, dass sie das chinesische Sprachpaket nicht installieren konnten, was zu Problemen bei der Verwendung von Chinesisch im System führte. Dieser Artikel bietet einige Lösungen für das Problem, dass Win11 das chinesische Sprachpaket nicht installieren kann, um Benutzern die reibungslose Verwendung von Chinesisch zu ermöglichen. Zuerst müssen wir verstehen, warum das chinesische Sprachpaket nicht installiert werden kann. Im Allgemeinen Win11

Titel: Eine wirksame Lösung zur Lösung des Problems verstümmelter Zeichen, die durch die Änderung des Oracle-Zeichensatzes verursacht werden. Wenn in der Oracle-Datenbank der Zeichensatz geändert wird, tritt das Problem verstümmelter Zeichen aufgrund des Vorhandenseins inkompatibler Zeichen in den Daten häufig auf. Um dieses Problem zu lösen, müssen wir einige wirksame Lösungen annehmen. In diesem Artikel werden einige spezifische Lösungen und Codebeispiele vorgestellt, um das Problem verstümmelter Zeichen zu lösen, die durch die Änderung des Oracle-Zeichensatzes verursacht werden. 1. Daten exportieren und den Zeichensatz zurücksetzen. Zuerst können wir die Daten in die Datenbank exportieren, indem wir den Befehl expdp verwenden.

Häufige Probleme und Lösungen für die OracleNVL-Funktion Die Oracle-Datenbank ist ein weit verbreitetes relationales Datenbanksystem, und bei der Datenverarbeitung ist es häufig erforderlich, mit Nullwerten umzugehen. Um die durch Nullwerte verursachten Probleme zu bewältigen, stellt Oracle die NVL-Funktion zur Verarbeitung von Nullwerten bereit. In diesem Artikel werden häufige Probleme und Lösungen von NVL-Funktionen vorgestellt und spezifische Codebeispiele bereitgestellt. Frage 1: Unsachgemäße Verwendung der NVL-Funktion. Die grundlegende Syntax der NVL-Funktion lautet: NVL(expr1,default_value).

Zu den häufigsten Herausforderungen, mit denen Algorithmen für maschinelles Lernen in C++ konfrontiert sind, gehören Speicherverwaltung, Multithreading, Leistungsoptimierung und Wartbarkeit. Zu den Lösungen gehören die Verwendung intelligenter Zeiger, moderner Threading-Bibliotheken, SIMD-Anweisungen und Bibliotheken von Drittanbietern sowie die Einhaltung von Codierungsstilrichtlinien und die Verwendung von Automatisierungstools. Praktische Fälle zeigen, wie man die Eigen-Bibliothek nutzt, um lineare Regressionsalgorithmen zu implementieren, den Speicher effektiv zu verwalten und leistungsstarke Matrixoperationen zu nutzen.

WindowsServerBackup ist eine Funktion des WindowsServer-Betriebssystems, die Benutzern dabei helfen soll, wichtige Daten und Systemkonfigurationen zu schützen und vollständige Sicherungs- und Wiederherstellungslösungen für kleine, mittlere und große Unternehmen bereitzustellen. Nur Benutzer, die Server2022 und höher ausführen, können diese Funktion nutzen. In diesem Artikel erklären wir, wie Sie WindowsServerBackup installieren, deinstallieren oder zurücksetzen. So setzen Sie die Windows Server-Sicherung zurück: Wenn Sie Probleme mit der Sicherung Ihres Servers haben, die Sicherung zu lange dauert oder Sie nicht auf gespeicherte Dateien zugreifen können, können Sie die Sicherungseinstellungen Ihres Windows Servers zurücksetzen. Um Windows zurückzusetzen

Häufige Gründe und Lösungen für verstümmelte chinesische Zeichen bei der MySQL-Installation MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem. Bei der Verwendung kann es jedoch zu Problemen mit verstümmelten chinesischen Zeichen kommen, die Entwicklern und Systemadministratoren Probleme bereiten. Das Problem verstümmelter chinesischer Zeichen wird hauptsächlich durch falsche Zeichensatzeinstellungen, inkonsistente Zeichensätze zwischen dem Datenbankserver und dem Client usw. verursacht. In diesem Artikel werden die häufigsten Ursachen und Lösungen für verstümmelte chinesische Zeichen bei der MySQL-Installation ausführlich vorgestellt, um allen zu helfen, dieses Problem besser zu lösen. 1. Häufige Gründe: Zeichensatzeinstellung

Bei unserer Arbeit verwenden wir häufig WPS-Software. Es gibt viele Möglichkeiten, Daten in WPS-Software zu verarbeiten, und die Funktionen sind auch sehr leistungsfähig. Wir verwenden häufig Funktionen, um Durchschnittswerte, Zusammenfassungen usw. zu ermitteln Methoden, die für statistische Daten verwendet werden können, wurden für alle in der WPS-Softwarebibliothek vorbereitet. Nachfolgend stellen wir die Schritte zum Sortieren der Ergebnisse in WPS vor. Nachdem Sie dies gelesen haben, können Sie aus der Erfahrung lernen. 1. Öffnen Sie zunächst die Tabelle, die eingestuft werden soll. Wie nachfolgend dargestellt. 2. Geben Sie dann die Formel =rank(B2, B2: B5, 0) ein und achten Sie darauf, 0 einzugeben. Wie nachfolgend dargestellt. 3. Drücken Sie nach Eingabe der Formel die Taste F4 auf der Computertastatur. In diesem Schritt wird der relative Bezug in einen absoluten Bezug umgewandelt.

Häufige Ursachen und Lösungen für verstümmelte PHP-Zeichen Mit der Entwicklung des Internets spielen chinesische Websites eine immer wichtigere Rolle in unserem Leben. Bei der PHP-Entwicklung ist das Problem verstümmelter chinesischer Zeichen jedoch immer noch ein häufiges Problem, das Entwicklern zu schaffen macht. In diesem Artikel werden die häufigsten Ursachen für verstümmelte chinesische Zeichen in PHP vorgestellt und Lösungen bereitgestellt. Außerdem sind spezifische Codebeispiele als Referenz für die Leser beigefügt. 1. Häufige Gründe: Inkonsistente Zeichenkodierung: Inkonsistenzen in der PHP-Dateikodierung, Datenbankkodierung, HTML-Seitenkodierung usw. können zu verstümmelten chinesischen Zeichen führen. Datenbank
