Ich arbeite an einem Hotel-Management-Projekt, bei dem es zwei Termine gibt. Ein Datum gilt für das Datum, an dem das Zimmer gebucht wurde, und das andere ist sein Abreisedatum. Beide Daten sind bereits in der Datenbank. Wenn nun ein neuer Gast am selben Tag zwischen diesen beiden genannten Daten kommt und gebucht wird, sollte eine Nachricht wie Raum gebucht für das ausgewählte Datum erscheinen.So führen Sie eine Datumsprüfung zwischen allen Datensätzen der Datenbank durch
Antwort
select Count(1) from tablename where getdate() between Startdate and EndDate
in Ihrem Zustand überprüfen Sie die Anzahl. wenn count> 0 Schuh Ihre Nachricht
* name = yourtablename
* Anreise Datum und Enddatum = ändern sich entsprechend nach Ihren column
UPDATE:
select Count(1) from tablename where getdate()>=Startdate and getdate() <= EndDate
Es funktioniert nur an einem Datum, aber ich muss beide Daten auswählen, dh Zimmer buchen Datum und Abreisedatum und dann muss ich überprüfen, ob es Konflikte oder nicht. –
@RahulKumar Überprüfen Sie meine aktualisierte Antwort. ist es jetzt einfach? –
warten Sie nur geben Sie mir einen Tipp –
declare @bookingDate as datetime ,@roomId as int
Select @bookingDate = '[Insert Date Here]',@roomId = [Enter your roomId]
select 1 as 'booked' from some_table
where @bookingDate > date_checked_in
and @bookingDate < date_checked_out
and roomId = @roomId
// Vielleicht Post Wie sieht die aktuelle Tabelle aus?
Tabelle ist zu kompliziert. Denken Sie nur an zwei Felder Startdatum und Enddatum –
Dann könnte das obige funktionieren. Sie können es sogar in eine Funktion umwandeln, die einen Bitwert zurückgibt, der angibt, ob der Raum verfügbar ist. ie f_IsRoomAvailable (roomId, Required_Date) Alternativ können Sie einen gespeicherten Proc erstellen, der eine Liste der für das angegebene Datum verfügbaren Räume zurückgibt. –
- 1. So führen Sie eine Zeitbereichsuche in Kibana durch
- 2. So führen Sie eine Methode durch Klicken auf eine Benachrichtigung
- 3. So führen Sie eine Nachrüstung mit dem Ereignisbus durch
- 4. Django CreateView: So führen Sie eine Aktion beim Speichern durch
- 5. So führen Sie eine Validierung für Flask-Admin-Felder durch
- 6. So führen Sie intensive node.js-Berechnungen durch
- 7. So führen Sie einen Datumsvergleich durch
- 8. So führen Sie teilweisen Wagenrücklauf durch
- 9. SignalR - So führen Sie eine asynchrone Aufgabe im Hub durch?
- 10. So führen Sie Validierungen in angular2 durch
- 11. So führen Sie Datumsoperationen im Ruhezustand durch
- 12. So führen Sie eine Methode durch Bindung in WPF aus
- 13. So führen Sie eine einfache CoreData-Migration in Swift durch
- 14. So führen Sie eine Validierungsprüfung mit Ionic durch
- 15. So führen Sie eine Eingabeaufforderung mit erhöhten Rechten durch Powershell
- 16. So führen Sie eine Verkettung in SQL durch
- 17. So führen Sie eine binäre Suche einer Textdatei durch
- 18. So führen Sie eine Rasterberechnung in R
- 19. Führen Sie SQLCMD von Asp.net durch Angularjs
- 20. So führen Sie eine Migration in der Produktion aus
- 21. So führen Sie eine data.table-Zusammenführungsoperation aus
- 22. So führen Sie Spezifikationen sequenziell
- 23. So führen Sie Spring LDAP- und JPA-Transaktionen durch
- 24. So isolieren Sie eine Liste von Datensätzen, die nicht in der Datenbank existieren
- 25. So führen Sie cssnano von der Befehlszeile
- 26. So suchen Sie nach den Datensätzen zwischen bestimmten CREATE_DATE Bereich
- 27. Führen Sie eine Überprüfung der OpenID-URI durch?
- 28. Laravel Schleife durch eine Spalte in der Datenbank und führen Sie Aktion
- 29. Wie eine Datenbank mit sqllite in einem einzigen Befehl abgeschnitten wird (Löschen von Datensätzen aus allen Tabellen in der Datenbank)
- 30. führen Sie den Code in allen Unterordnern
Zeig uns, wie weit du kommst und was nicht funktioniert. Versuchen Sie eine SQL-Prozedur oder nur C# -Methode? – Poody
Ich muss diese Operation in meinem C# -Projekt durchführen. Aber ich suche nach der Logik in meinem SQL SERVER 2008. –
@RahulKumar Überprüfen Sie meine Antwort –