Mysql
 sql >> Base de données >  >> RDS >> Mysql

Tarifs de réservation d'hôtel Problème SQL

Entre le 16/04/2011 16:00 et le 15/04/2011 00:00 il y a un jour et 16 heures, donc votre DATEDIFF(...)+1 revient (correctement) 1+1 jours.

Le problème ici est le décalage entre l'heure d'arrivée/de départ du client (vers midi) et l'heure à laquelle le tarif change (à minuit).

Vous devez vérifier vos besoins, mais vous pourriez probablement ignorer le dernier jour partiel et faire en sorte que l'invité "parte" au 2011-04-15 23:59:59 à des fins de calcul du tarif. De la même manière, faites "arriver" l'invité au 2011-04-14 00:00:00. Les heures supplémentaires du premier jour compenseront les heures manquantes du dernier jour.