Avatar billede ullidk Nybegynder
23. oktober 2005 - 18:05 Der er 5 kommentarer og
1 løsning

Dato interval check

Hejsa,

Jeg har en database med en tabel over bookinger af en hytte. Hver booking har en startdato og slutdato.
Jeg vil gerne lave en funktion, der tager alle bookinger af en bestemt hytte og derefter checker en valgt startdato og slutdato ikke ligger inde for et af de allerede eksisterende booking-intervaller....
Er der en måde hvorpå man kan traversere de datoer der ligger mellem startdato og slutdato?

Håber I forstår...
Avatar billede softspot Forsker
23. oktober 2005 - 18:54 #1
Det må du kunne klare med BETWEEN

sql = "" & _
  "SELECT COUNT(*) AS cntOverlap " & _
  "FROM tabel " & _
  "WHERE (" & startdato & " BETWEEN startdato AND slutdato)" & _
    "OR (" & slutdato & " BETWEEN startdato AND slutdato)"

og så i dit resultat checke om cntOverlap er større end 0.
Avatar billede ullidk Nybegynder
23. oktober 2005 - 19:44 #2
Bruger C# så jeg skulle lige redigere lidt i dit forslag:

"SELECT COUNT(*) FROM Booking WHERE( " + startDate + " BETWEEN startDate AND endDate) OR ( " + endDate + " BETWEEN startDate AND endDate)";

Nu får jeg:

Syntax error (missing operator) in query expression '( 05-11-2005 00:00:00 BETWEEN startDate AND endDate) OR ( 18-11-2005 00:00:00 BETWEEN startDate AND endDate)'.
Avatar billede softspot Forsker
23. oktober 2005 - 19:55 #3
Sorry! Jeg har kodet for meget ASP med VBScript for nylig :)

Prøv dette i stedet

"SELECT COUNT(*) FROM Booking WHERE( #" + startDate + "# BETWEEN startDate AND endDate) OR ( #" + endDate + "# BETWEEN startDate AND endDate)";
Avatar billede ullidk Nybegynder
23. oktober 2005 - 20:08 #4
Så virkede det, smukt! Smid et svar:-)
Avatar billede softspot Forsker
23. oktober 2005 - 20:15 #5
Godt så! Vær så artig :)
Avatar billede softspot Forsker
23. oktober 2005 - 20:39 #6
Tak for point :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester