Non è del tutto chiaro cosa vuoi che la tua query faccia , ma il senso della tua domanda mi fa propendere per suggerire di esaminare l'aritmetica modulare:in SQL, a % b
restituisce il resto quando a
è diviso per b
- se non c'è resto (es. a % b = 0
), quindi a
deve essere un multiplo esatto di b
.
Nel tuo caso, io penso stai cercando di trovare eventi in cui il tempo tra l'inizio dell'evento e un dato letterale è un multiplo esatto dell'intervallo di eventi:ovvero (literal - event_start) % event_interval = 0
. Se è diverso da zero, il valore è il tempo alla prossima occorrenza dopo literal
(e, quindi, per determinare se l'occorrenza successiva si verifica entro un certo periodo di tempo, diciamo un giorno, si dovrebbe verificare se il resto è inferiore a tale costante es. (literal - event_start) % event_interval < 86400
).
Se questo non è ciò che stai cercando, chiarisci esattamente che cosa sta cercando di ottenere la tua richiesta.