3 Stimmen

Wenn die Server-Kollation eines SQL-Servers die Groß-/Kleinschreibung berücksichtigt und eine Datenbank die Groß-/Kleinschreibung nicht beachtet, wird bei Abfragen die Groß-/Kleinschreibung beachtet o

Wenn die Server-Kollation eines SQL-Servers die Groß-/Kleinschreibung berücksichtigt und eine Datenbank die Groß-/Kleinschreibung nicht beachtet, wird bei Abfragen die Groß-/Kleinschreibung beachtet oder nicht? Ich dachte, dass die Groß- und Kleinschreibung von der Datenbank und nicht von der Server-Sortierung abhängt, aber nach einem kurzen Test scheint das nicht der Fall zu sein. Weiß das jemand mit Sicherheit?

5voto

Rory Punkte 38272

Nun, ich denke este erklärt es:

Die Sortierung eines Identifikators hängt von der Ebene ab, auf der er definiert ist. Bezeichner von Objekten auf Instanzebene, wie z. B. Logins und Datenbanknamen, erhalten die Standardsortierreihenfolge der Instanz. Bezeichner von Objekten innerhalb einer Datenbank, wie z.B. Tabellen, Views und Spaltennamen, erhalten die Standardsortierreihenfolge der Datenbank. Variablen, GOTO-Labels, temporäre gespeicherte Prozeduren und temporäre Tabellen können erstellt werden, wenn der Verbindungskontext mit einer Datenbank verbunden ist und dann referenziert werden, wenn der Kontext zu einer anderen Datenbank gewechselt wurde. Daher sind die Bezeichner für Variablen, GOTO-Labels und temporäre Tabellen in der Standardsortierreihenfolge der Instanz.

Das bedeutet, dass bei Variablen, möglicherweise auch bei Parametern, die Groß-/Kleinschreibung beachtet wird, selbst wenn die Groß-/Kleinschreibung bei der Sortierung nicht berücksichtigt wird. Das ist es, was ich bei meinen Tests sehe: Probleme mit der Groß-/Kleinschreibung von Parametern, aber keine Probleme mit der Groß-/Kleinschreibung von Tabellen-/Spaltennamen.

0voto

AdaTheDev Punkte 135097

Es gibt verschiedene Ebenen, auf denen die Sortierung festgelegt werden kann - sie könnte auch auf Spaltenebene festgelegt werden, was dann Vorrang hätte. Normalerweise wird die Sortierung einer Spalte so eingestellt, dass die Standardeinstellung der Datenbank verwendet wird, die, wenn sie nicht explizit bei der Erstellung der Datenbank angegeben wird, standardmäßig die Sortierung des Servers verwendet.

Beachten Sie, dass, wenn Sie eine Datenbank mit einer Sortierreihenfolge erstellen und dann die Sortierreihenfolge der Datenbank ändern, dies keine Auswirkungen auf vorhandene Spalten hat, die mit anderen Sortierreihenfolgen definiert worden sind. Sie wirkt sich nur auf Spalten aus, die ab diesem Zeitpunkt für diese Datenbank erstellt werden. Sie müssen also die vorhandenen Spalten ändern.

Welchen Test haben Sie durchgeführt?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X