/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Datediff
Fra : Jesper


Dato : 03-05-06 12:28

Har revet det meste af håret af nu. hehe

SELECT COUNT(*) AS Antal FROM Person
WHERE Fødtår > #31-12-1981#
AND Indmeldt_Dato <= #30-09-2005#

Giver alle medlemmer født fra 82 og op, og som er meldt ind før 30-09-2005

Men nu skal jeg samtidig checke på om man har været medlem i mere end 4 mdr.
Dvs. at jeg har også en Udmeldt_Dato, eller null hvis stadig medlem.

Hvordan hulen kan jeg gøre det i sql strengen....

Jesper






 
 
Lars Hoffmann (03-05-2006)
Kommentar
Fra : Lars Hoffmann


Dato : 03-05-06 15:56


Jesper wrote:
> Har revet det meste af håret af nu. hehe
>
> SELECT COUNT(*) AS Antal FROM Person
> WHERE Fødtår > #31-12-1981#
> AND Indmeldt_Dato <= #30-09-2005#
>
> Giver alle medlemmer født fra 82 og op, og som er meldt ind før 30-09-2005
>
> Men nu skal jeg samtidig checke på om man har været medlem i mere end 4 mdr.
> Dvs. at jeg har også en Udmeldt_Dato, eller null hvis stadig medlem.

er det ikke bare at tilføje:

AND datediff(Indmeldt_Dato,date,'YYYY') > 4
AND isnull(Udmeldt_Dato)

(jeg går ud fra at det er Access der er tale om)

Med venlig hilsen
Lars Hoffmann


Jesper (03-05-2006)
Kommentar
Fra : Jesper


Dato : 03-05-06 16:13

Syntes bare jeg har prøvet alt med datediff uden held. Smutter til
aftensmaden og kigger på det igen derefter.

AND datediff(Indmeldt_Dato,date,'YYYY') > 4
AND isnull(Udmeldt_Dato)



Jesper (03-05-2006)
Kommentar
Fra : Jesper


Dato : 03-05-06 17:30

SELECT * FROM Person WHERE datediff(Indmeldt_Dato,date,'YYYY') > 5

Microsoft OLE DB Provider for ODBC Drivers- Error '80040e10'
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var
ventet 1.

Hvis den virkede, burde den liste alle som har været indmeldt i mere end 5
år.

Jeg kan dog se på w3school at datediff skal se sådan ud.
DATEDIFF(d,date1,date2) Used to perform date calculations


Så hvis jeg laver min query som
SELECT * FROM Person WHERE datediff('YYYY',Indmeldt_Dato,date) > 5
giver det samme fejl.

Jesper.



"Lars Hoffmann" <lars@intercambiodvd.com> skrev i en meddelelse
news:1146668184.296210.201510@i39g2000cwa.googlegroups.com...

Jesper wrote:
> Har revet det meste af håret af nu. hehe
>
> SELECT COUNT(*) AS Antal FROM Person
> WHERE Fødtår > #31-12-1981#
> AND Indmeldt_Dato <= #30-09-2005#
>
> Giver alle medlemmer født fra 82 og op, og som er meldt ind før 30-09-2005
>
> Men nu skal jeg samtidig checke på om man har været medlem i mere end 4
> mdr.
> Dvs. at jeg har også en Udmeldt_Dato, eller null hvis stadig medlem.

er det ikke bare at tilføje:

AND datediff(Indmeldt_Dato,date,'YYYY') > 4
AND isnull(Udmeldt_Dato)

(jeg går ud fra at det er Access der er tale om)

Med venlig hilsen
Lars Hoffmann



Thomas Smedebøl (03-05-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 03-05-06 18:01

> AND datediff(Indmeldt_Dato,date,'YYYY') > 4
> AND isnull(Udmeldt_Dato)

hvis det er måneder du vil undersøge med datediff skal du ikke bruge
yyyy! det er nemlig år!

mvh thomas

Jesper (03-05-2006)
Kommentar
Fra : Jesper


Dato : 03-05-06 19:47

Det er jeg klar over. Holdt den bare i år da Lars kom med eks med år.


"Thomas Smedebøl" <whisdow@hotmail.com> skrev i en meddelelse
news:4458e1dd$0$15793$14726298@news.sunsite.dk...
>> AND datediff(Indmeldt_Dato,date,'YYYY') > 4
>> AND isnull(Udmeldt_Dato)
>
> hvis det er måneder du vil undersøge med datediff skal du ikke bruge yyyy!
> det er nemlig år!
>
> mvh thomas



Jørn Andersen (03-05-2006)
Kommentar
Fra : Jørn Andersen


Dato : 03-05-06 22:49

On 3 May 2006 07:56:24 -0700, "Lars Hoffmann"
<lars@intercambiodvd.com> wrote:

>er det ikke bare at tilføje:
>
>AND datediff(Indmeldt_Dato,date,'YYYY') > 4
>AND isnull(Udmeldt_Dato)

Bortset fra at syntaksen er forkert:
Eksempel fra VBScript-dokumentationen:
DiffADate = "Days from today: " & DateDiff("d", Now, theDate)
- der skal mao. byttes rundt på parametrene.

Lidt mere detaljeret:
DateDiff(interval, date1, date2 [,firstdayofweek[, firstweekofyear]])
<snip>
The interval argument can have the following values:

Setting Description
yyyy Year
q Quarter
m Month
y Day of year
d Day
w Weekday
ww Week of year
h Hour
n Minute
s Second


Good luck!

--
Jørn Andersen,
Brønshøj

Lars Hoffmann (04-05-2006)
Kommentar
Fra : Lars Hoffmann


Dato : 04-05-06 07:54

Jesper wrote:

> Jeg kan dog se på w3school at datediff skal se sådan ud.
> DATEDIFF(d,date1,date2) Used to perform date calculations

Ja selvfølgelig, det var smutter.

> Så hvis jeg laver min query som
> SELECT * FROM Person WHERE datediff('YYYY',Indmeldt_Dato,date) > 5
> giver det samme fejl.

Har du Null i nogle af dine indmeldt_date?
hvis du har null kan du gøre følgende:

SELECT *
FROM Person
WHERE
iif(isnull(Indmeldt_Dato,0,datediff('YYYY',Indmeldt_Dato,date()))) > 5

Med venlig hilsen
Lars Hoffmann

PS, vil du ikke være så venlig at svare under det du svarer på?


Jesper (04-05-2006)
Kommentar
Fra : Jesper


Dato : 04-05-06 14:11


"Lars Hoffmann" <lars@intercambiodvd.com> skrev i en meddelelse
news:1146725630.138980.8620@i39g2000cwa.googlegroups.com...
Jesper wrote:

> Jeg kan dog se på w3school at datediff skal se sådan ud.
> DATEDIFF(d,date1,date2) Used to perform date calculations

Ja selvfølgelig, det var smutter.

> Så hvis jeg laver min query som
> SELECT * FROM Person WHERE datediff('YYYY',Indmeldt_Dato,date) > 5
> giver det samme fejl.

Har du Null i nogle af dine indmeldt_date?
hvis du har null kan du gøre følgende:

SELECT *
FROM Person
WHERE
iif(isnull(Indmeldt_Dato,0,datediff('YYYY',Indmeldt_Dato,date()))) > 5

-------------------------------------------


Det ser meget fornuftigt ud, men jeg kan ikke få det til at køre.
Har fundet en anden løsning i 2 linier i stedet.

Tak for hjælpen....



Christian M. Nielsen (12-05-2006)
Kommentar
Fra : Christian M. Nielsen


Dato : 12-05-06 07:37


"Jesper" <oz5@pc.dk> skrev i en meddelelse
news:4459fd69$0$939$edfadb0f@dread14.news.tele.dk...

>
> Det ser meget fornuftigt ud, men jeg kan ikke få det til at køre.
> Har fundet en anden løsning i 2 linier i stedet.


Hej Jesper.

Det er god skik at vise hvad man har fundet ud af, så kan andre også få gavn
af det hvis de står med et lignende problem

--

Mvh / Regards
-=< Christian >=-
What capital has 164 letters in its name? See my web page to find out.
http://www.cmnielsen.dk
The scary thing about looking for truth is that you might find it.



Søg
Reklame
Statistik
Spørgsmål : 177548
Tips : 31968
Nyheder : 719565
Indlæg : 6408799
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste