Avatar billede riversen Nybegynder
17. juli 2003 - 19:39 Der er 16 kommentarer og
2 løsninger

selektering på dato

Jeg skal lige have lidt hjælp til en forspørgsel, hvor jeg henter poster der er max 7 dage gamle. Skal tælles fra kl. 0:00 d. 10. juni, hvis vi siger 7 dage fra i går.

Feltet er datetime
Avatar billede arne_v Ekspert
17. juli 2003 - 19:51 #1
Avatar billede medions Nybegynder
17. juli 2003 - 19:52 #2
SELECT TOP 7 * FROM tblTabelnavn WHERE Datofelt BETWEEN (Dato1, Dato2)

//>Rune
Avatar billede arne_v Ekspert
17. juli 2003 - 19:54 #3
Hvis du bruger Java kunne du "snyde" og lave en prepared statement
med <= ? og >= ? og så regne på Date i Java og bare kalde setDate.
Avatar billede riversen Nybegynder
18. juli 2003 - 07:27 #4
SELECT *
FROM visitor
WHERE dato
BETWEEN (
'2003-07-11 00:00:00', '2003-17-11 23:59:59'
)

jeg får syntax fejl
Avatar billede arne_v Ekspert
18. juli 2003 - 07:32 #5
Prøv lige med:

SELECT *
FROM visitor
WHERE dato
BETWEEN '2003-07-11 00:00:00' AND '2003-17-11 23:59:59'
Avatar billede riversen Nybegynder
18. juli 2003 - 07:58 #6
yes....hehe...tjek lige min dato 17-11...den er vist ikke helt gyldig heller ikke
Avatar billede riversen Nybegynder
18. juli 2003 - 08:01 #7
men hvordan regner man egentlig med dato, således jeg fx kan trække fx 7 dage fra en dato
Avatar billede riversen Nybegynder
18. juli 2003 - 08:04 #8
måske det er mere et php spørgsmål, hvis ikke det er muligt direkte i sql
Avatar billede arne_v Ekspert
18. juli 2003 - 08:19 #9
Hvis du kigger på mit link, så er der en TO_DAYS funktion og nogle
eksempler på at trække dato fra i SQL.
Avatar billede arne_v Ekspert
18. juli 2003 - 08:20 #10
Men hvis det er Java så lave tricket med prepared statement, ?, setDate
og træk 7 dage fra nu i Java.
Avatar billede riversen Nybegynder
18. juli 2003 - 08:21 #11
jamen hvis jeg så konveterer en dato til dage og trækker 7 hvad så med tidspunktet?
Avatar billede arne_v Ekspert
18. juli 2003 - 08:26 #12
Hvis du trækker 7*24*60*60*1000 millisekunder fra så er det naturligvis
samme tid som nu.

Hvis det skal være kl. 00:00:00 X tl 23:59:50 X+7 så brug Calendar
og set til at at sætte 00:00:00 og add til at køre 7 dage tilbage.
Avatar billede riversen Nybegynder
18. juli 2003 - 08:27 #13
det er php
Avatar billede arne_v Ekspert
18. juli 2003 - 08:29 #14
Så prøv med den TO_DAYS funktion.
Avatar billede arne_v Ekspert
18. juli 2003 - 08:31 #15
Avatar billede riversen Nybegynder
18. juli 2003 - 08:31 #16
jeg kan stadig ikke se hvordan jeg får den tilbage til datetime formatet
Avatar billede arne_v Ekspert
18. juli 2003 - 08:31 #17
Den returnerer antal dage siden år 0, så den må skille ved midnat.
Avatar billede arne_v Ekspert
18. juli 2003 - 08:35 #18
Det skal du heller ikke.

Du skulle finde det fra de sidste 7 dage ?

SELECT something FROM tbl_name WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 7;

[sakset fra MySQL siden]
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