sql >> Databasteknik >  >> RDS >> Mysql

Hotellbokningspriser SQL-problem

Mellan 2011-04-16 16:00 och 2011-04-15 00:00 finns det en dag och 16 timmar, därför din DATEDIFF(...)+1 återkommer (korrekt) 1+1 dagar.

Problemet här är bristen på överensstämmelse mellan tidpunkten när gästen anländer/går (runt middagstid) och tidpunkten då kursen ändras (vid midnatt).

Du måste kontrollera dina krav, men förmodligen kan du ignorera den sista deldagen och låta gästen "gå" 2011-04-15 23:59:59 för beräkningsändamål. På samma sätt, låt gästen "komma" till 2011-04-14 00:00:00. De extra timmarna under den första dagen kommer att kompensera de uteblivna timmarna under den sista dagen.



  1. Är det något fel med joins som inte använder JOIN-nyckelordet i SQL eller MySQL?

  2. Vad händer när man använder flera CASE ... WHEN-satser i samma SQL-fråga?

  3. table_exists()-metoden kanske inte fungerar korrekt

  4. Hur säkerhetskopierar och återställer jag PostgreSQL-databas i Windows7?