Allora ho rivisto la query.
es.:
ora inizio 2200
ora fine 0600 + 2400 = 3000
ora check 0200 + 2400 = 2600 <- ok tra 2200 e 3000
ora check 2100 + 2400 = 4500 <- ok superiore a 3000 viene esclusa
ora check 0700 + 2400 = 3100 <- ok superiore a 3000 viene esclusa
dovrebbe andare cosi':
codice:
WHERE if(TIME_FORMAT(CURTIME(), '%H%m') < data_i,
TIME_FORMAT(CURTIME(), '%H%m') + 2400,
TIME_FORMAT(CURTIME(), '%H%m') )
BETWEEN data_i
AND IF(data_f < data_i, data_f + 2400, data_f)
dovrebbe essere tutto considerato .
ps.: le ore si "riciclano" e' una espressione aziendale...
cioe' ogni giorno ricominciano da capo e quindi non possono fornire valori di comparazione sul giorno.