Avatar billede Slettet bruger
18. marts 2008 - 10:38 Der 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()))
Avatar billede kalp Novice
18. marts 2008 - 10:41 #1
SELECT * FROM mintabel ORDER BY RAND( DAYOFMONTH(CURRENT_DATE) )

måske
Avatar billede kalp Novice
18. marts 2008 - 10:43 #2
funktionen hedder vidst bare DAY(Date())
Avatar billede kalp Novice
18. marts 2008 - 10:43 #3
nej det er
SELECT * FROM mintabel ORDER BY RAND( DAYOFMONTH(CURRENT_DATE) )

eller

SELECT * FROM mintabel ORDER BY RAND( DAYOFMONTH(Date()) )
Avatar billede Slettet bruger
18. marts 2008 - 10:56 #4
Smukt! Mange tak!
Avatar billede nielle Nybegynder
18. marts 2008 - 11:04 #5
Så bliver det godt nok den samme rækkefølge næste måned igenj og måneden efter. Men det er måske ok nok?
Avatar billede kalp Novice
18. marts 2008 - 11:17 #6
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.
Avatar billede 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".
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