15. januar 2001 - 10:04
Der er
18 kommentarer og 1 løsning
Problem tidsformat
Jeg har et problem når jeg vil bruge tid som søge parameter i sql...jeg bruger asp... 1 .forsøg select * form dims where dato < ( now - ((1/(24*60)*20) finder ikke noget 2.forsøg select * form dims where dato < \"&dato&\" and tid <\"&tid&\" dato er tilpasset US...12/31/99 tid er almindelig tid.. trukket 20 min fra finder ikke noget Linien skal bruges til en hit counter som kun tillader den samme ip et hit pr. 20 min..
Annonceindlæg fra Trustworks
Tillid i en Zero-Trust verden
Med voksende trusler, nye EU-krav og øget kompleksitet er cybersikkerhed nu en central ledelsesopgave på linje med strategi og økonomi.
15. januar 2001 - 10:47
#1
Nu ved jeg ikke om du har kopieret din sql-sætning ind her, men hvis du har har du så ikke stavet from som \"form\" ?
15. januar 2001 - 11:10
#2
Ja, det må skulle være \"from\" istedet for \"form\"...
15. januar 2001 - 11:12
#3
SELECT [prædikat] { * | tabel.* | [tabel.]felt1 [AS alias1] [, [tabel.]felt2 [AS alias2] [, ...]]} FROM tabeludtryk[, ...] [IN eksterndatabase] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ]
15. januar 2001 - 12:01
#4
Jeg er udemærket klar over at der skal stå from og ikke form...har trods alt arbejdet med SQL i 1½ år..mit problem er tiden ikke selv sql linien...
15. januar 2001 - 12:12
#5
>> select * form dims where dato < ( now - ((1/(24*60)*20) Jeg mener der skal parenteser efter now(). Desuden bliver now() målt i sekunder, så du skal bare trække 20*60 fra, dvs. SELECT * FROM dims WHERE data < (now()-20*60);
15. januar 2001 - 16:23
#6
now() - 20 * 60 = -3 år og lidt mere... desuden kan jeg ikke lave en where dato < now() da datoen og tiden i databasen bliver gemt i formatet...yyyy-mm-dd hh:mm:ss og now er i dd-mm-yyyy hh:mm:ss prøver jeg at vende datoen i now og gemme denne i en anden varibel kan jeg ikke bruge det da det ikke er af typen dato...prøver jeg at caste det til det at dato typen vender det datoen til oprindelige...
15. januar 2001 - 19:14
#7
Er du sikker? Har du prøvet? Jeg har lige kørt følgende forespørgsel i min database, hvor feltet timestamp er en kolonne, der indeholder et timestamp. SELECT timestamp, now(), now()-20*100 FROM dims timestamp: 20010108135023 now(): 2001-01-15 19:05:05 now()-20*100: 20010115188505 Som du kan se, kan du sagtens trække 20 min. fra now(), du skal blot trække 2000 fra.
15. januar 2001 - 19:23
#8
hvis jeg trækker 2000 fra now() får jeg 26-07-1995 19:28:56 Ikke specielt rat... prøv response.write(now()-2000) og se så hvad den giver..
15. januar 2001 - 19:30
#9
Hmmm, taler vi ikke SQL her?
15. januar 2001 - 19:30
#10
det sql-sætningen skal kunne er at en IP kun kan oprette et hit pr. 20 min..
15. januar 2001 - 19:35
#11
response.write har ikke meget med SQL at gøre. Prøv at skrive det i din SQL sætning. Jeg har netop prøvet ovenstående sql-sætning og det virkede (dog med PHP, men det gør jo ingen forskel).
15. januar 2001 - 19:40
#12
set rs = con.execute(\"select * from count where dato < (now() - (1/(24*60))*20) and ip like \'\"&ip&\"\'\") Det er min SQL sætning... now i asp er i formatet dd-mm-yyyy hh:mm:ss
15. januar 2001 - 19:51
#13
Hvis du kigger 6 poster over denne, har jeg skrevet at: now(): 2001-01-15 19:05:05 now()-20*100: 20010115188505 now() omregner automatisk til timestamp, når du trækker noget fra. Prøv nu: set rs = con.execute(\"select * from count where (data < (now()-20*100)) and (ip = \'&ip&\'\")
15. januar 2001 - 19:59
#14
set rs = con.execute(\"select * from count where (dato < (now()+20*100)) and (ip = \'\"&ip&\"\')\") Prøv at forklar hvorfor denne så ikke virker dato er timestamp rs er eof
15. januar 2001 - 20:13
#15
Hvis jeg har forstået dig ret, slår du op, om en ip er registereret inden for de sidste 20 min., ik? set rs = con.execute(\"select * from count where (dato > now()-20*100) and (ip = \'\"&ip\"\')\")
15. januar 2001 - 20:23
#16
rettede lidt i det så..virkede det...syntes stadig at MySQL er skummelt ....men HURTIGT :-) Thanz
15. januar 2001 - 20:56
#17
hvad med 2 mdr i stedet for 20 min... 2* 10^8 virker nemlig ikke ...
15. januar 2001 - 21:10
#18
15. januar 2001 - 21:14
#19
det kan ikke bruges sammen med now() i asp... set rs = con.execute(\"select * from count where (dato > now()-20*100) and (ip = \'\"&ip\"\')\") virkede alligevel ikke....
Computerworld tilbyder specialiserede kurser i database-management