---
title: "datum1 between datum2 and datum3 (samma dag)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/70740-datum1-between-datum2-and-datum3-samma-dag"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "doggelito"
published: "2003-03-11T14:33:22.000Z"
updated: "2003-03-12T16:04:19.000Z"
replies: 10
views: 295
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/70740-datum1-between-datum2-and-datum3-samma-dag"
---

# datum1 between datum2 and datum3 (samma dag)

## #1 — doggelito, 2003-03-11T14:33Z

ska hämta poster som ligger mellan två datum.
försöker med between men det stämmer ej.

```
Select a.Activityid, a.Notes, a.Startdate, a.Enddate 
From tblActivity a
Inner Join tblProject p On a.Projectid = p.Projectid
Where p.Projectid = @Projectid And @Current_date Between Startdate And Enddate
Order By a.Startdate Asc
```

ex. i databasen har jag en post:
start 2003-03-11 10:12:12, slut 2003-03-11 12:12:12
och skickar in 2003-03-11 men får inte fram posten.
flyttar jag starttiden 1 dag bakåt till den 10:de så funkar det, vad göra?

Permalänk: https://www.webforum.nu/p/70740

## #2 — Viktor, 2003-03-11T14:35Z

Re: datum1 between datum2 and datum3 (samma dag)

Anledningen till att ditt exempel inte fungerar är antagligen att tiden sätts till 00.00, altså är det innan start datumet.

/Viktor

Permalänk: https://www.webforum.nu/p/975538

## #3 — doggelito, 2003-03-11T14:45Z

hmm, så kan det va.
hur tusan skriver jag då, tiden i databasen är oviktig i detta fall, jag ska alltså hämta alla poster den dagen, oavsett tid.

Permalänk: https://www.webforum.nu/p/975549

## #4 — Viktor, 2003-03-11T14:48Z

Prova att sätta start till 2003-03-11 och slut till 2003-03-12
Då tror jag du får alla poster som postats 2003-03-11.

/Viktor

Permalänk: https://www.webforum.nu/p/975553

## #5 — doggelito, 2003-03-11T14:56Z

> **Viktor skrev:**
>
> Prova att sätta start till 2003-03-11 och slut till 2003-03-12

nope, jag listar aktiviteter som kan starta 12.00 och sluta 13:30
så jag kan inte ändra datumfälten i databasen.

men i problemet ovan vill jag alltså lista samtliga under vald dag.

jag har för mig att jag gjort nått liknande nån gång och lära jag använda datediff för att jämföra ett date-värde mot ett now-värde.
kanske lär jag göra nått liknande här? nått tips?

/använder ms sql-server2000

Permalänk: https://www.webforum.nu/p/975565

## #6 — LarsG, 2003-03-11T15:07Z

```
Where p.Projectid = @Projectid 
And convert(varchar,@Current_date,103)
 Between convert(varchar,Startdate,103) 
   And convert(varchar,Enddate,103)
```

Permalänk: https://www.webforum.nu/p/975575

## #7 — doggelito, 2003-03-11T15:22Z

LarsG, tiptop! :)

Permalänk: https://www.webforum.nu/p/975587

## #8 — doggelito, 2003-03-12T06:49Z

problems igen.
färdig kod från ovan, dock ändrat 103 till 126:

```
Select a.Activityid, a.Categoryid, a.Heading, a.Notes, a.Place, a.Startdate, a.Enddate, c.Categoryname
From tblActivity a
Inner Join tblProject p On a.Projectid = p.Projectid
Left Join tblCategory c On a.Categoryid = c.Categoryid
Where p.Projectid = @Projectid
And convert(varchar,@Current_date,126)
Between convert(varchar,a.Startdate,126) 
And convert(varchar,a.Enddate,126)
Order By a.Startdate Asc
```

i databasen har jag en post, start 2003-03-24, slut 2003-04-15
men skickar jag in 2003-03-24 så kommer inte posten upp.
skickar jag däremot in 2003-03-25 så syns den, varför?

Permalänk: https://www.webforum.nu/p/976045

## #9 — doggelito, 2003-03-12T07:03Z

har temporärt gjort så här, men det borde väl finnas ett "riktigt" sätt, eller?

```
And convert(varchar,@Current_date,126)
Between left(convert(varchar,Startdate,126),10) 
And left(convert(varchar,Enddate,126),10)
```

Permalänk: https://www.webforum.nu/p/976052

## #10 — doggelito, 2003-03-12T07:36Z

ovan funkade inte heller, så klart!
nu börjar jag bli yr i huvudet så kan nån få rätsida på detta.
just nu kör jag med denna, tror att den funkar, men ni ser ju själv, finkod!!!

```
And DatePart(yyyy, @Current_date) >= DatePart(yyyy, a.Startdate)
And DatePart(mm, @Current_date) >= DatePart(mm, a.Startdate)
And DatePart(dd, @Current_date) >= DatePart(dd, a.Startdate)

And DatePart(yyyy, @Current_date) <= DatePart(yyyy, a.Enddate)
And DatePart(mm, @Current_date) <= DatePart(mm, a.Enddate)
And DatePart(dd, @Current_date) <= DatePart(dd, a.Enddate)
```

Permalänk: https://www.webforum.nu/p/976060

## #11 — doggelito, 2003-03-12T16:04Z

Tänkte bara att ni skulle få en lägesrapport! :)
Nu är jag snart tillbaka där jag började.
Denna funkar just nu, frågan är ju bara hur länge!? ;)

```
And convert(varchar, @Current_date, 112)
Between convert(varchar, a.Startdate, 112)
And convert(varchar, a.Enddate, 112)
```

Permalänk: https://www.webforum.nu/p/976409

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/70740-datum1-between-datum2-and-datum3-samma-dag
