2016-09-01 4 views
0

Wie die Frage suggeriert.Wie man zufällig eine Ganzzahl in SQL

Ich muss zufällig eine Ganzzahl am Ende meiner SQL-Abfrage generieren. Es soll Teil eines Codes sein, den ich aus vorhandenen Variablen erstellen muss.

SELECT LEFT(Var1,2) & RIGHT(Var2,1) & RND 
FROM MyTable; 

Verfahren I hier verwendet wird, erzeugt eine Zahl, eine Dezimalzahl wie 0,2895625 am Ende des Codes ist. Ich brauche es, um einen ganzen Integer zu erzeugen.

Danke nochmal!

+0

wenn meine unten Lösung ist hilfreich für Sie dann es als Buddy-Antwort akzeptieren. –

+0

Es ist hilfreich. Versteh mich nicht falsch. Aber ich suche leider nicht danach. – GipsyD

+0

was suchen Sie? Kannst du das mit einem Beispiel erklären? Ich habe meine Antwort auch aktualisiert. –

Antwort

2
DECLARE @maxval TINYINT, @minval TINYINT 
select @maxval=24,@minval=5 

SELECT CAST(((@maxval + 1) - @minval) * 
    RAND(CHECKSUM(NEWID())) + @minval AS TINYINT) 

Verwenden Sie dies. Stellen Sie @maxval und @minval entsprechend Ihren Bedürfnissen ein.

Oder versuchen Sie es.

SELECT CAST(RAND() * 1000000 AS INT) 

Oder Sie können dies versuchen.

Declare @Rnd INT; 

    set @Rnd = CAST(RAND() * 1000000 AS INT) 
    SELECT LEFT(Var1,2) & RIGHT(Var2,1) & @Rnd 
    FROM MyTable; 

oder

Declare @Rnd INT; 

    set @Rnd = ABS(CHECKSUM(NewId())) % 10000 
     SELECT LEFT(Var1,2) & RIGHT(Var2,1) & @Rnd 
     FROM MyTable; 
Verwandte Themen