webForumDet fria alternativet

datum1 between datum2 and datum3 (samma dag)

10 svar · 273 visningar · startad av doggelito

doggelitoMedlem sedan juni 20003 076 inlägg
#1

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?

ViktorMedlem sedan aug. 20021 752 inlägg
#2

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

doggelitoMedlem sedan juni 20003 076 inlägg
#3

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.

ViktorMedlem sedan aug. 20021 752 inlägg
#4

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

doggelitoMedlem sedan juni 20003 076 inlägg
#5

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

LarsGMedlem sedan dec. 200012 464 inlägg
#6
Where p.Projectid = @Projectid 
And convert(varchar,@Current_date,103)
 Between convert(varchar,Startdate,103) 
   And convert(varchar,Enddate,103)
doggelitoMedlem sedan juni 20003 076 inlägg
#7

LarsG, tiptop! :)

doggelitoMedlem sedan juni 20003 076 inlägg
#8

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?

doggelitoMedlem sedan juni 20003 076 inlägg
#9

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)
doggelitoMedlem sedan juni 20003 076 inlägg
#10

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)
doggelitoMedlem sedan juni 20003 076 inlägg
#11

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)
130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)