Avatar billede tuctoh Nybegynder
15. juli 2003 - 11:03 Der er 3 kommentarer og
1 løsning

Tilfældigt tal i stored procedure

Hej,

Jeg skal have SQL Server 2000 til at lave et tilfældigt tal i en stored procedure.

I ASP ville jeg gøre randomize og bruge rnd - men hvordan gøres dette i SQL - hvis det er muligt!?
Avatar billede somaliomar Praktikant
15. juli 2003 - 11:06 #1
Prøv med
Set @RANDOM_NUMBER = Round(((@MAX - 1) * Rand() + @MIN), 0)
Avatar billede somaliomar Praktikant
15. juli 2003 - 11:07 #2
Et random tal mellem 1 og 10:

Set @MIN = 1
Set @MAX = 10
Set @RANDOM_NUMBER = Round(((@MAX - 1) * Rand() + @MIN), 0)
Avatar billede molberg Nybegynder
15. juli 2003 - 11:07 #3
From BOL:
A common way to generate random numbers from RAND is to include something relatively variable as the seed value, such as adding several parts of a GETDATE:

SELECT RAND( (DATEPART(mm, GETDATE()) * 100000 )
          + (DATEPART(ss, GETDATE()) * 1000 )
          + DATEPART(ms, GETDATE()) )

When you use an algorithm based on GETDATE to generate seed values, RAND can still generate duplicate values if the calls to RAND are made within the interval of the smallest datepart used in the algorithm. This is especially likely if the calls to RAND are included in a single batch. Multiple calls to RAND in a single batch can be executed within the same millisecond, which is the smallest increment of DATEPART. In this case, incorporate a value based on something other than time to generate the seed values.
Avatar billede tuctoh Nybegynder
15. juli 2003 - 16:05 #4
soma får points :)
simpelt og effektivt.

Molberg, jeg har ikke brug for SÅ præcise randomizing funktioner... den simple indbyggede må være nok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester