18. marts 2008 - 10:38Der er
6 kommentarer og 1 løsning
Konvertere en DATE til INTEGER
Jeg har et udtræk, som jeg gerne vil have sorteret i vilkårlig rækkefølge. Jeg vil gerne have at den tilfældige rækkefølge er den samme hver gang, så der ikke "rodes rundt" i udtrækket hver gang man "besøger" det påny.
Jeg har fundet ud af at RAND() kan gøre dette ved at tage en integer som den bruger til at "seede" sin random generator med.
SELECT * FROM mintabel ORDER BY RAND(20)
Dette giver den samme "vilkårlige" rækkefølge hver gang.
Nu vil jeg gerne have forskellige rækkefølge er anderledes fra dag til dag... det må jo kunne ordnes ved at fodre RAND(int) med en INTEGER der er lavet ud fra datoen... men jeg kan ikke lige få den til at makke ret.
Noget ala
SELECT * FROM mintabel ORDER BY RAND(GIV_MIG_EN_INT_UD_FRA_EN_DATO(DATE()))
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
SELECT * FROM mintabel ORDER BY RAND( DAYOFYEAR(Date()) )
eller
SELECT * FROM mintabel ORDER BY RAND( DAYOFYEAR(Date()) + YEAR(Date()) )
hvis den godtager så lange tal.
Synes godt om
Slettet bruger
18. marts 2008 - 11:23#7
Ja det går nok at den kører "månedes turnus".... men ellers tak for "udvidelsen".
Synes godt om
Ny brugerNybegynder
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.