Ich habe auf eine Frage hieran geantwortet und gefeuert mein SSMS, um eine kleine Abfrage vor dem Posten zu testen, aber einige seltsame Ergebnisse erhalten. Hier ist die Abfrage:
%Vor%Und hier ist die Ergebnismenge:
%Vor%Wie ich erwartet habe Rand ohne einen Samen das gleiche Ergebnis in jeder Zeile, aber ich hatte gehofft, dass Rand mit einem Samen (Albiet nur die Zahlen 1 bis 9) ein bisschen besser als eine geordnete Liste innerhalb 0,0002 von einander tun würde !
Erhalten Sie das Gleiche? Das hört sich nach etwas an, das die Unvorsichtigen aufspüren könnte.
Wie ich sicher bin, wird das relevant sein:
%Vor%Würden Sie bitte mit der unten stehenden Abfrage versuchen, die immer die gewünschte Zufallszahl liefert.
%Vor%Update : Laut Konversation habe ich meine Antwort wie folgt geändert:
%Vor%Die CRYPT_GEN_RANDOM-Funktion in Elias 'Antwort hat mich dazu gebracht, an einer besseren Lösung zu arbeiten:
%Vor%Dies erzeugt die gleiche Gleitkommazahl zwischen 0 und 1 wie RAND (), also könnte es auch vorkommen, dass ein Seed nicht verwendet wird. Es wird auch pro Reihe aufgerufen, wie die Probe zeigt. Im Gegensatz zu RAND, das denselben Seed verwendet, wird jedoch nicht das gleiche Ergebnis erzielt.
Hinweis
Dies funktioniert nicht mehr in:
%Vor%als
%Vor%Tags und Links sql sql-server tsql