webForumDet fria alternativet

Få fram poster från idag och 3 veckor tillbaka?

Databaser & SQL

4 svar · 293 visningar · startad av Skogiz

Medlem sedan feb. 200395 inlägg
Frågan#1

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

Medlem sedan mars 2007845 inlägg
#2

Beror på vad det är för timestamp. Är det Unix så tar du tiden = time() - 3 veckor

SELECT * FROM tabellen WHERE datum >= tiden;

Medlem sedan feb. 200395 inlägg
#3

timestamp är i formatet 2009-05-04 16:47:43

Medlem sedan feb. 200395 inlägg
#4

Jag testade med

SELECT * FROM tabell WHERE DATE_FORMAT(datumet, '%Y-%m-%d') >= DATE_SUB(CURDATE(), INTERVAL 3 WEEK);

Det borde funka?

Medlem sedan dec. 200012 464 inlägg
#5

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.

258 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)