Meddelande

Minska
No announcement yet.

Snurrig med < och <= vilket som är rätt?

Minska
X
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Snurrig med < och <= vilket som är rätt?

    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?
    http://www.galnanyheter.com/ - Galna nyheter utöver det vanliga

    Skaffa Dropbox - Ett självklart val för att synkronisera filer mellan datorerna samt telefonen.

  • #2
    Räknade lite på det. 1 september - 20 dagar = 12 augusti. Vill du den 1 september ta bort det som skapats den 12 augusti (eller tidigare) så ska du använda <=, vill du ta bort det som skapats den 11 augusti (eller tidigare) så ska du använda <.

    Utöver det bör du ha i åtanke att även klockslag beaktas med den frågan du kör nu. Vill du bara köra på datum får du använda DATE(r.created_timestamp) och DATE(NOW() - INTERVAL 20 DAY).

    (Det sista har jag inte testat, men det bör vara så)
    Avundas aldrig någon det sken av lycka han har för du känner inte hans hemliga sorger.

    Kommentera


    • #3
      prplxr skrev: Visa inlägg
      Räknade lite på det. 1 september - 20 dagar = 12 augusti. Vill du den 1 september ta bort det som skapats den 12 augusti (eller tidigare) så ska du använda <=, vill du ta bort det som skapats den 11 augusti (eller tidigare) så ska du använda <.

      Utöver det bör du ha i åtanke att även klockslag beaktas med den frågan du kör nu. Vill du bara köra på datum får du använda DATE(r.created_timestamp) och DATE(NOW() - INTERVAL 20 DAY).

      (Det sista har jag inte testat, men det bör vara så)
      Även om du nog svarade på min fråga tror jag du missförstod mig. Den 21 september vill jag radera det som skapdes 1 september.
      http://www.galnanyheter.com/ - Galna nyheter utöver det vanliga

      Skaffa Dropbox - Ett självklart val för att synkronisera filer mellan datorerna samt telefonen.

      Kommentera


      • #4
        Ursäkta, det blev lite rörigt, men matematiken är densamma. Vill du den 21 september radera den som skapats 1 september ska du använda <=, eftersom 21-20=1 (dvs, datumen blir samma).
        Avundas aldrig någon det sken av lycka han har för du känner inte hans hemliga sorger.

        Kommentera

        Working...
        X