Det är inte helt klart vad du vill att din fråga ska göra , men sammanfattningen av din fråga får mig att luta mig mot att föreslå att du tittar på modulär aritmetik:i SQL, a % b
returnerar återstoden när a
delas med b
- om det inte finns någon rest (dvs. a % b =0
), sedan a
måste vara en exakt multipel av b
.
I ditt fall tror jag du försöker hitta händelser där tiden mellan händelsens start och en viss bokstav är en exakt multipel av händelseintervallet:det vill säga (literal - händelse_start) % händelse_intervall =0
. Om det inte är noll är värdet tiden till nästa förekomst efter literal
(och därför, för att avgöra om nästa händelse inträffar inom en viss tidsperiod, säg en dag, skulle man testa för att se om återstoden är mindre än en sådan konstant, t.ex. (literal - händelse_start) % händelseintervall <86400 ).
Om detta inte är vad du är ute efter, vänligen förtydliga exakt vad din fråga försöker uppnå.