Avatar billede jeppe_hansen Nybegynder
29. september 2002 - 18:32 Der er 10 kommentarer

NOW - 20 minutter

I går oprettetde jeg et spørgsmål der lyder ca. som det jeg stiller nu igen.

Jeg kom frem til følgende løsning i går, men nu har jeg gennemtestet den lidt og det virker ikke så godt som man kunne ønske. Den korrekte tid (20 minutter) bliver ikke differeret korrekt.

"Update Users set Online = 'NO' Where LastMove < NOW() And LastMove > NOW() - (20*60)"
Avatar billede ztyxx Nybegynder
29. september 2002 - 18:35 #1
hvad sker der så hvis du bytter NOW() ud med time()
Avatar billede jeppe_hansen Nybegynder
29. september 2002 - 18:39 #2
time() - (20*60) = 17-09-1896 05:11:48
Avatar billede morw Nybegynder
29. september 2002 - 19:29 #3
SELECT NOW() - (20*60)
 
20020929191750

Det er da 20 min
Avatar billede jeppe_hansen Nybegynder
29. september 2002 - 23:47 #4
Jeg ved ikke hvordan det kan lykkes dig at komme frem til det... Når jeg bruger koden: NOW() - (20*60) får jeg resultatet: 17-06-1999 23:55:51
Den trækker altså dage fra, og ikke sekunder eller minutter...!
Avatar billede jeppe_hansen Nybegynder
29. september 2002 - 23:54 #5
Sad lige og legede lidt....
Prøv at se hvad dette kan gøre: NOW() - (0.00001 * 60 * 20)
Skal lige pusse den lidt af, for den er ikke præcis 20 minutter bagefter. Dener ca. 17 minutter og 30 sekunder bagefter. Ved ikke helt hvad det er der går galt, men det virker næsten *S*
Avatar billede jeppe_hansen Nybegynder
30. september 2002 - 00:11 #6
Weeee..!! Sad lige og legede *MEGA LOL* Se så lige her hvad jeg kom op med *S*. Det er ikke bare et tal, det er et magisk tal!!

NOW() - 0.0006943 * 20

Soørg ikke hvordan jeg kom frem til det. Prøvede mig bare frem *S* Men det virker!! I hvert fald når det er 20 minutter ved ikke om det også virker på andre værdier.. tjekker lige... *LOOOL* Det gør det fanme!! Der har vi jo en funktion der kan trække minutter fra tiden NOW(). Underlig måde at gøre det på, men hva' det virker jo! Sytes da lige jeg ville dele det med jer andre! *S*
Avatar billede lasse_buck Nybegynder
01. oktober 2002 - 14:17 #7
1 = 1 døgn
1/(24*60) = 0,00069444...

Jeg er ikke imponeret :o)
Avatar billede hnteknik Novice
30. oktober 2002 - 12:10 #8
Det glæder mig at se, at MYSQLs dateobject også håndterer dage som heltal og dele af dagen det, der står efter kommaet i.e. 3 timer er = 1/8.

Jeg er ny på MySQL - hvorfor man ikke sætte en default dato til Now() som f.eks. i Access ???

Henrik
Avatar billede lasse_buck Nybegynder
30. oktober 2002 - 12:49 #9
hnteknik >> Jeg har ledt på nettet efter en løsning, men det ser ud til, at denne funktionalitet ikke understøttes af MySQL endnu.
- Jeg har ikke kigget på de nye beta-versioner.
Avatar billede hnteknik Novice
30. oktober 2002 - 21:26 #10
>>lasse
jeg har lusket rundt lidt selv og det nærmeste man kommer er vel nok
TIMESTAMP, hvor den tilstedeværelse opdateres med now() ved oprettelse eller eidtering af recorden.

DEFAULT kan kun antage en konstant - angives f.eks. NOW antager default værdien '0000-00-00 00:00:00'. What a pity - håber der kommer noget ala MS SQL funktionalitet i version 4+

Tak fordi du gad at svare

Henrik
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