Mysql
 sql >> Database >  >> RDS >> Mysql

Tariffe di prenotazione hotel Problema SQL

Tra il 16-04-2011 16:00 e il 15-04-2011 00:00 c'è un giorno e 16 ore, quindi il tuo DATEDIFF(...)+1 sta tornando (correttamente) 1+1 giorni.

Il problema qui è la mancata corrispondenza tra l'ora in cui l'ospite arriva/parte (verso mezzogiorno) e l'ora in cui la tariffa cambia (a mezzanotte).

Devi verificare i tuoi requisiti, ma probabilmente potresti ignorare l'ultimo giorno parziale e fare in modo che l'ospite "se ne vada" alle 23:59:59 del 15-04-2011 ai fini del calcolo della tariffa. Allo stesso modo, fai "arrivare" l'ospite alle 00:00:00 del 14-04-2011. Le ore extra del primo giorno compenseranno le ore mancanti nell'ultimo giorno.