Avatar billede aaanders Nybegynder
05. september 2009 - 11:41 Der er 8 kommentarer

DELETE + UNIX timestamp + Slet efter x sek

Hej.

Jeg har en tabel med et timestamp når folk kommer ind på siden
Hvordan skal min DELETE FROM se ud for at slette alle rows hvor HitDate er mindst 300 sekunder gammelt ?

HitDate er et UNIX timestamp.
Avatar billede HenrikSjang Nybegynder
05. september 2009 - 12:10 #1
hvad datatype ligger dit unix timestamp i? Hvis ikke det er datetime, hvordan ser unix timestamp'et så lige ud?
Avatar billede aaanders Nybegynder
05. september 2009 - 12:51 #2
int, det er tal..
Avatar billede HenrikSjang Nybegynder
05. september 2009 - 14:48 #3
hvad er det nu lige definitionen på et unix timestamp er? antal milisekunder siden 1970-01-01 00:00:00.000 ?
Avatar billede aaanders Nybegynder
05. september 2009 - 15:33 #4
DATEDIFF(s, '19700101', GETDATE())

Så har du et unix timestamp i MSSQL ... sekunder siden 1. januar 1970
Avatar billede arne_v Ekspert
05. september 2009 - 15:42 #5
Jeg ville udregne cutoff tidspunktet i applikations koden så det bare er:

DELETE FROM tabel WHERE hitdate < x

De fleste programmerings sprog har ret nemt ved at udregne nu minus 5 minutter som Unix tid.
Avatar billede aaanders Nybegynder
05. september 2009 - 15:52 #6
Jeg ville meget gerne ha' det til at køre som et SQL job..
Avatar billede arne_v Ekspert
05. september 2009 - 16:00 #7
DELETE FROM tabel WHERE hitdate < DATEDIFF(s, '19700101', GETDATE()) - 300

(test lige med SELECT inden DELETE !!)
Avatar billede arne_v Ekspert
14. oktober 2009 - 02:40 #8
Kommet videre ?
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