Avatar billede larserik Nybegynder
31. juli 2008 - 12:35 Der er 5 kommentarer

Hente ut poster med DateDiff

Hei

Databasen min er sånn ut:

AutoID (int)
DatOgTid (datetime)
Melding (text)

Eksempeldata:

AUTOID | DATOOGTID | MELDING
1 | 31.07.2008 12:00:00 | Dette er en test.

Jeg ønsker å kun vise record #1 mellom 31.07.2008 12:00:00 og 31.07.2008 14:00:00.

Hvordan kan jeg lage en spørring som gjør dette?

SELECT * FROM TABELL WHERE DATOOGTID < Now()+2

eller

SELECT * DATEDIFF(h, DATOGTID) AS DIF FROM TABELL

? Jeg får bare feilmeldinger..
Avatar billede michael_stim Ekspert
31. juli 2008 - 12:38 #1
Er ikke helt med, men måske med BETWEEN

SELECT * FROM tabel WHERE dato BETWEEN dato1 AND dato2
Avatar billede larserik Nybegynder
31. juli 2008 - 12:48 #2
Jeg ønsker å kun vise records som er max 2 timer gamle.
Avatar billede michael_stim Ekspert
31. juli 2008 - 13:45 #3
SELECT * FROM tabel WHERE DatOgTid BETWEEN DatOgTid AND DATEADD(hh, 2, DatOgTid)

Er ikke testet, og ved ikke om det fungerer.
Avatar billede HenrikSjang Nybegynder
31. juli 2008 - 22:59 #4
Hvis du kun ønsker at se records som er max to timer gamle, så bør dette virke:

SELECT * FROM TABELL
WHERE DatoOgTid > DATEADD(hh, -2, GETDATE())

Denne del resulterer i tidspunktet for præcis 2 timer siden: DATEADD(hh, -2, GETDATE())
Avatar billede larserik Nybegynder
01. august 2008 - 08:18 #5
takk for hjelpen

jeg fant ut at denne løsningen også fungerte:

SELECT TOP 1 * FROM TABELL WHERE DateDiff(Hour, DATOOGTID, GetDate()) <2
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