Beror på vad det är för timestamp. Är det Unix så tar du tiden = time() - 3 veckor
SELECT * FROM tabellen WHERE datum >= tiden;
4 svar · 293 visningar · startad av Skogiz
Har en tabell med ett fält med timestamp. Jag skulle vilja göra en sökning där jag endast får fram posterna från idag och 3 veckor bakåt i tiden.
Hur får man till en sådan sökning på bästa sätt?
Om jag sedan skulle vilja välja allt som är äldre än 3 veckor så förmodar jag att man bara ändrar till ">" när jag väl fått till ovanstående sökning?
Tack på förhand
Beror på vad det är för timestamp. Är det Unix så tar du tiden = time() - 3 veckor
SELECT * FROM tabellen WHERE datum >= tiden;
timestamp är i formatet 2009-05-04 16:47:43
Jag testade med
SELECT * FROM tabell WHERE DATE_FORMAT(datumet, '%Y-%m-%d') >= DATE_SUB(CURDATE(), INTERVAL 3 WEEK);
Det borde funka?
Det finns ingen anledning att använda dateformat och date_sub, tvärtom.
where datumet >= current_date - interval '21' day
skall fungera bra om det är lagrat med lämplig date/time typ.