sql >> Base de Datos >  >> RDS >> Mysql

Problema de SQL de tarifas de reserva de hotel

Entre 2011-04-16 16:00 y 2011-04-15 00:00 hay un día y 16 horas, por lo tanto su DATEDIFF(...)+1 regresa (correctamente) 1+1 días.

El problema aquí es la discrepancia entre la hora en que el huésped llega o se va (alrededor del mediodía) y la hora en que cambia la tarifa (a medianoche).

Debe verificar sus requisitos, pero probablemente podría ignorar el último día parcial y hacer que el huésped "se vaya" a las 23:59:59 del 15 de abril de 2011 para calcular la tarifa. De la misma manera, haga que el invitado "llegue" a las 2011-04-14 00:00:00. Las horas extra del primer día compensarán las horas faltantes del último día.