Thomas Darimont
Erfahrenes Mitglied
Hallo,
hier mal ein Beispiel wie man unter SQL Server Zufallszahlen erzeugen kann.
Die Funktion RAND() liefert auch Zufallswerte jedoch werden diese bei der Verwendung in einem Select Statement nur einmal erzeugt, sprich für das Ergebnis des Statements gilt dann für jede Zeile die geleiche zufällige Zahl... das ist nicht immer das was man möchte ;-)
Deshalb hier ein paar andere Möglichkeiten zur Generierung von Zufallszahlen in SQL Server:
(Für das Beispiel verwende ich der Einfachheit wegen eine temporäre Tabelle...)
Quellen:
http://ms-olap.blogspot.com/2010/10/do-you-trust-your-data-mining-results.html
http://www.sql-server-helper.com/tips/generate-random-numbers.aspx
Gruß Tom
hier mal ein Beispiel wie man unter SQL Server Zufallszahlen erzeugen kann.
Die Funktion RAND() liefert auch Zufallswerte jedoch werden diese bei der Verwendung in einem Select Statement nur einmal erzeugt, sprich für das Ergebnis des Statements gilt dann für jede Zeile die geleiche zufällige Zahl... das ist nicht immer das was man möchte ;-)
Deshalb hier ein paar andere Möglichkeiten zur Generierung von Zufallszahlen in SQL Server:
(Für das Beispiel verwende ich der Einfachheit wegen eine temporäre Tabelle...)
SQL:
DECLARE @RandomTest TABLE (ID int) --Temporäre Tabelle
INSERT INTO @Randomtest values (1),(2),(3),(4)
select * from @RandomTest;
select RAND() as RandomNumber, * from @RandomTest;
--Zufällige positive Ganzzahlen
select ABS(CAST(CAST(NEWID() AS VARBINARY) AS INT)) AS RandomNumber, * from @RandomTest
--Werte zwischen 0..1
select convert(float,CAST(CAST(newid() AS binary(4)) AS int))/2147483648.0/2+.5 AS RandomNumber, * from @RandomTest
Quellen:
http://ms-olap.blogspot.com/2010/10/do-you-trust-your-data-mining-results.html
http://www.sql-server-helper.com/tips/generate-random-numbers.aspx
Gruß Tom