Vinnaren i pepparkakshustävlingen!
2015-04-22, 13:15
  #1
Medlem
Har ett enkelt problem men snurrar bara till det av någon anledning, får inte till det om det ska vara <= eller bara <

Regler
  • Värdet lades till 1 september, skapelsedatumet var den 1 september.
  • Den 21 september, 20 dagar efter värdet skapades, tar denna regel effekt och tar bort värdet automatiskt.

Kod:
WHERE r.created_timestamp < (NOW() - INTERVAL 20 DAY)
eller

Kod:
WHERE r.created_timestamp <= (NOW() - INTERVAL 20 DAY)

Vad är det rätta om jag vill radera värdet 20 dagar efter värdets skapelsedatum?
__________________
Senast redigerad av help 2015-04-22 kl. 13:25.
Citera
2015-04-22, 13:39
  #2
Medlem
Robinbobbaans avatar
<= genom att du även vill ta bort den du "Står" på eller vad man ska säga.

"<" Är bara mindre än där du är,

"<=" är mindre och den du är på

Håller dock med dig, det blir mindfucked.

Gör ett test, lägg till 21 rader, kör båda sakerna och kolla vad skillnaden är.
Citera
2015-04-22, 13:48
  #3
Medlem
I och med att du jobbar med timetamps kan man kanske uppleva att det blir fel beroende på sekundrar (och minuter och timmar).

timestmap = 2015-03-01 23:58:13
NOW() = 2015-03-21 22:13:01

Det har gått 20 dagar om man bortser från tidsdelen, men

NOW() - 20 dagar = 2015-03-01 22:13:01

som ju är tidigare än timestamp, alltså kommer inte raden tas bort.
Citera
2015-04-23, 11:45
  #4
Medlem
Bongomans avatar
Använd DATE(r.created_timestamp)!
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback