binärer Vergleich für distinct-Operator möglich?

Hallo Leute

Ich habe eine Tabelle mit Familiennamen. Nun möchte ich eine Art Namensliste, in der jeder Name nur einmal aufscheint. ich machen also folgendes:

select distinct name from person;

nun das Problem: ich habe die Personen „Weiss“ und „Weiß“ in der Datenbank. Das obige Statement liefert mir aber nur „Weiss“, nicht aber „Weiß“.

Bei folgendem Statement das selbe Ergebnis:

select name from person group by name;

Vermutlich sieht es Microsoft als Feature, dass ein scharfes S wie ein Doppel-S behandelt wird. Ist manchmal auch sicher sinnvoll. Ich würde es nur gerne abschalten. Nur wie geht das auf Abragen-Ebene? Wie es in einem Modul geht ist mir klar, nur für Abfragen habe ich nichts gefunden. Kann man die Datenbank irgendwie entsprechend einstellen, dass Vergleiche generell binär erfolgen sollen?

Vielen Dank im Voraus für hilfreiche Antworten

lg
Erwin

Schreib dir eine kleine Funktion:

Public Function StrToHex(S ) 
Dim I as Long, Res as string
If IsNull(S) then
 StrtoHex = Null
else
 For I = 1 to Len(S)
 Res = Res & Right("00" & Hex(Asc(Mid(S,I,1))),2)
 Next I
 StrToHex = Res
End if
end function

Und verwende die dann in deiner Abfrage:

SELECT DISTINCT DeinFeld, StrToHex(DeinFeld) As Sort
FROM DeineTabelle

„Name“ sollte ein Feld übrigens besser nicht heissen, das macht nur Ärger!

Gruß aus dem Norden
Reinhard Kraasch

(http://www.dbwiki.de - das Datenbank-Wiki)

hallo Reinhard

hab so was ähnliches schon befürchtet - selbstgeschriebene funktionen wollte ich eigentlich vermeiden. trotzdem danke für den tipp - falls ich sonst nichts finde, wird es wohl sowas werden…

schöne grüsse aus dem süden

erwin