Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:17 Der er 14 kommentarer og
1 løsning

simplet dato fætter

where [alle poster inden for den sidste måned]


Hvodan ?
Avatar billede fennec Nybegynder
12. november 2004 - 12:20 #1
where ditDatoFelt between '2004-11-01' and '2004-11-30'
Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:22 #2
Selvføgelig...

IDIOT er jeg... Eller er jeg bare død efter programmering til 4.30 i nat, og op igen  7.00


mange tak
Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:23 #3
hov sa... Det skulle være f.eks idag og så en måned tilbage... :) ?
Avatar billede fennec Nybegynder
12. november 2004 - 12:28 #4
Du kan gøre det mere dynamisk med CURDATE(), YEAR(), MONTH() og DAYOFMONTH(), men det kommer an på hvordan det præsis skal fungere.

I dette tilfælde vil det så være:

where ditDatoFelt between CURDATE() and DATE_SUB(CURDATE(),INTERVAL 1 MONTH)
Avatar billede ldanielsen Nybegynder
12. november 2004 - 12:30 #5
WHERE DATEDIFF(d, datofelt, GETDATE()) < 31

Giver indenfor de sidste 30 dage
Avatar billede fennec Nybegynder
12. november 2004 - 12:30 #6
Tag evt et kik i manualen, her kan du finde en lang liste af datofunktioner du kan bruge. Læg også mærke til hvornår funktionerne er understøttet fra.

http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html
Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:32 #7
NEJ... Nu stopper jeg med de dumme spørgsmål.. sorry...

Jeg skal nok lige have nogle flere timers søvn... Vil du have point... Og endnu engang undskyld for din tid...

GROTESKE SPØRGSMÅL
Avatar billede fennec Nybegynder
12. november 2004 - 12:33 #8
... Jeg tåger nu. Dette er ikke MySQL katagorien :o)

I MS-SQL er det DATEDIFF() funktionen (som ldanielsen også skrev) og ikke DATE_SUB(), som slet ikke eksistere i MS SQL.
Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:38 #9
Ja, og CURDATE() er heller ik i MS, men skidt med det...
Avatar billede fennec Nybegynder
12. november 2004 - 12:42 #10
Skal vi lige tage den også så bare for sjov, hvis der nu er andre, der komme ind og ser dette ? (hvad vi må håbe der ikke er, for det er så småt ved at være en joke)

Det hedder GETDATE() i MS-SQL.
Avatar billede gadebarnet Nybegynder
12. november 2004 - 12:45 #11
nemlig...

Men så bare for at skære det helt ud, så fungere interval 1 month heller ik
Avatar billede gadebarnet Nybegynder
13. november 2004 - 10:59 #12
Kan du stadigvæk hjælpe?
Avatar billede ldanielsen Nybegynder
13. november 2004 - 19:32 #13
Dur denne her ikke?

WHERE DATEDIFF(d, datofelt, GETDATE()) < 31

Giver alle indenfor de sidste 30 dage
Avatar billede gadebarnet Nybegynder
14. november 2004 - 06:01 #14
Ja, de sidste dage efter idag... Det skal være efter de sidste dage fra den første dato... Men jeg har fikset det...

Sådan her:

select str_dato from tbl_steder_overview join tbl_steder on tbl_steder_overview.str_sted_id = tbl_steder.str_id join tbl_steder_type on tbl_steder_overview.str_type_id = tbl_steder_type.str_id
where str_type='{8BCA978D-FB2A-46B3-B205-DF430B91E619}'
and tbl_steder_overview.str_dato >  Dateadd(mm,-1,(SELECT MAX(h.str_dato) from tbl_steder_overview h)) group by str_dato order by str_dato desc
Avatar billede ldanielsen Nybegynder
14. november 2004 - 14:46 #15
Det ser da fornuftigt ud
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
Computerworld tilbyder specialiserede kurser i database-management

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