23. august 2006 - 14:36Der er
9 kommentarer og 1 løsning
Find poster i tabel 2 måneder tilbage og fremefter
En venlig fyr hjalp mig med kode til, hvordan jeg trækker poster ud af en tabel med dato fra nu og 7 dage frem. Datoen i mysql er opdelt i 3 felter (Dag, MD, År). Koden ser sådan her ud.
SELECT * FROM dinTabel WHERE STR_TO_DATE(CONCAT(start_d, '/', start_m, '/', start_aar), '%d/%m/%Y') BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 7 DAY)
Er der en der vil hjælpe med tilsvarende kode, men i stedet for dagsdato og 7 dage frem, så er det dagsdato minus 60 dage og alle datoer derefter.
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Slettet bruger
23. august 2006 - 14:54#1
Jeg vil mene det må være: SELECT * FROM dinTabel WHERE STR_TO_DATE(CONCAT(start_d, '/', start_m, '/', start_aar), '%d/%m/%Y') BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL -60 DAY)
Sådan tænkte jeg også, men så tager den vel kun fra dagsdato - 60 dage og til dagsdato. Jeg skal også have posterne med fra dagsdato og fremover. Altså for 2 måneder siden og til evig tid.... Fx. sådan her: BETWEEN DATE_ADD(CURDATE(), INTERVAL -60 DAY AND DATE_ADD(CURDATE(), INTERVAL +9999999 DAY)
Men det må kunne gøres mere elegant.
Synes godt om
Slettet bruger
23. august 2006 - 15:07#3
Prøv denne:
SELECT * FROM dinTabel WHERE STR_TO_DATE(CONCAT(start_d, '/', start_m, '/', start_aar), '%d/%m/%Y') > DATE_ADD(CURDATE(), INTERVAL -60 DAY)
Synes godt om
Slettet bruger
23. august 2006 - 15:08#4
Eller denne:
SELECT * FROM dinTabel WHERE STR_TO_DATE(CONCAT(start_d, '/', start_m, '/', start_aar), '%d/%m/%Y') > DATE_ADD(NOW(), INTERVAL -60 DAY)
ja - og jeg smiler endnu mere, for jeg fik løst mit problem. Hehe
Synes godt om
Ny brugerNybegynder
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.