Subquestioning die Antwort auf meine andere Frage:Wie werden Symbole anhand der Sortierung verglichen, die sich von der Standardsortierung der Datenbank unterscheidet?
Wie besser vergleichen 2 (nicht-N ') Symbole explizit eine Sortierung verwendet wird, die aus einer Standard Datenbankkollatierung unterscheidet?
Update: Ich brauche char() oder varchar zu vergleichen() Werte, die ich aus einer Datenbank extrahiert und sie in Variablen @ s1 und @ s2
use dbName;
--here I alternated different db names with different collations
declare @s1 nchar(1)='à'
declare @s2 nchar(1)='a'
select
case
when @s1 <> @s2 Then 'a is NOT equal à'
else 'a is equal to à'
end
collate latin1_General_CS_AS
Ausgänge
- a gleich a (auf Datenbank mit Sortierung Latin1_General_CI_AI default)
- a ist nicht gleich a (auf db mit Latin1_General_CI_AS
Ist es möglich, Standard-Datenbanksortierung für eine außer Kraft setzen Block von Operationen statt COLLATE in jeder Anweisung zu schreiben? –
@ vgv8 - Ich bin mir nicht bewusst, eine Möglichkeit dazu - die Hilfe für Collate, http://msdn.microsoft.com/en-us/library/ms184391.aspx, zeigt nur 3 Stellen, die es verwendet werden kann (DB-Definition, Spaltendefinition und Kollatierungscasts, was wir hier tun). –