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

Hotel reservationspriser SQL-problem

Mellem 2011-04-16 16:00 og 2011-04-15 00:00 er der en dag og 16 timer, derfor din DATEDIFF(...)+1 returnerer (korrekt) 1+1 dage.

Problemet her er misforholdet mellem det tidspunkt, hvor gæsten ankommer/forlader (omkring middag) og tidspunktet, hvor prisen ændres (ved midnat).

Du er nødt til at tjekke dine krav, men sandsynligvis kunne du ignorere den sidste delvise dag og få gæsten til at "rejse" kl. 2011-04-15 23:59:59 til satsberegningsformål. Få på samme måde gæsten til at "komme" kl. 2011-04-14 00:00:00. De ekstra timer på det første døgn vil kompensere for de manglende timer på det sidste døgn.



  1. PostgreSQL - Sådan konverteres sekunder i et numerisk felt til TT:MM:SS

  2. Outputparameter for MySQL-lagrede procedurer via ADODB i MS Access (VBA) korrekt på én computer og tilfældig på en anden

  3. Pivot ved hjælp af SQL Server 2000

  4. Skinner bestilles efter foreningsfelt