Hej, jeg har en fradato og en tildato i min database. Når jeg søger søger jeg også med en tildato og fradato. Jeg kan ikke helt gennemskue hvordan min sql skal se ud for at det skal fungere.
lad os sige jeg i databasen har fradato=05-01-2006 og tildato=10-01-2005.
hvis jeg søger fra 01-01-2006 til 08-01-2006 skal tabellen vises.
hvis jeg søger fra 07-01-2006 til 08-01-2006 skal tabellen også vises.
hvis det du mener er at tabellen skal vises hvis bare en af datoerne falder indenfor perioden i databasen kan du bruge noget i retning af:
select * from tabelNavn where (søgeStartDato > tabelStartDaro and søgeStartDato < tabelSlutDato) or (søgeSlutDato > tabelStartDaro and søgeSlutDato < tabelSlutDato)
Jeg har en tabel som har fromdate = 27-01-2005 og todate= 29-01-2005. Denne post skulle jo komme frem med når jeg søger helt fra d. 1-01 til den 9-2, men det gør den ikke??
where (datefrom <= convert(datetime,1-01-2006,103) and dateto >= convert(datetime,1-01-2006,103)) or (dateto >= convert(datetime,9-2-2006,103) and datefrom <= convert(datetime,9-2-2006,103))
Hvis du bruger MSSQL kan du gøre det på følgende måde. -- fradato og tildato er søge parameterne -- startdato og slutdato er datoerne i din tabel. SELECT * FROM _dinTabel WHERE (DATEDIFF(day, fradato, startdato) >= 0 AND DATEDIFF(day, fradato, slutdato) <= 0) OR (DATEDIFF(day, tildato, startdato) >= 0 AND DATEDIFF(day, tildato, slutdato) <= 0)
ok, ja jeg skal ha lavet det om til stored procedure senere. Gider jeg bare ikke lige nu, da der også er andre ting jeg skal ha med i sql. Men tak alle
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.