Avatar billede loevstroem Nybegynder
11. april 2010 - 02:04 Der er 4 kommentarer og
1 løsning

Hjælp til korrekt brug af Curdate

Hej Eksperter,

Jeg forsøger at lave et count af salg på nogle rækker af i dags dato. Mit problem er med curdate der returnere resultater fra igår - umiddelbart kan jeg ikke se problemet.

SELECT t_name, SUM(ts_total_sales) AS ts_total_sales FROM s_teams LEFT JOIN s_team_sales ON t_id = ts_team_id WHERE ts_date = CURDATE() GROUP BY t_id


ts_id ∫ ts_team_id ∫ ts_total_sales ∫ ts_date
1 ∫ 1 ∫ 10 ∫ 2010-04-10
2 ∫ 1 ∫ 23 ∫ 2010-04-08
3 ∫ 1 ∫ 21 ∫ 2010-04-11

Min query returnere nu række nr. 1, altså returnere den tallet 10 i total sales, selvom datoen ikke svarer da vi i dag d. 11/4.

Skifter jeg min query fra ts_date = CURDATE() til ts_date = '2010-04-11' henter den, den rigtige række.

Benytter jeg CURDATE forkert?

PFT.
Avatar billede loevstroem Nybegynder
11. april 2010 - 02:04 #1
∫ var mit forsøg på at lave en streg der adskiller mine data :-)
Avatar billede arne_v Ekspert
11. april 2010 - 03:27 #2
Hvad viser:

SELECT CURDATE()

?
Avatar billede arne_v Ekspert
11. april 2010 - 03:29 #3
Og var tiden på MySQL serveren faktisk på den 11. da du testede ?

11. april 2010 kl. 02:04:13 er f.eks. kun 4 minutter over midnat hvis serveren er sat til GMT.
Avatar billede loevstroem Nybegynder
11. april 2010 - 11:43 #4
Hej Arne,

Det virker umiddelbart her til morgen, hvor CURDATE() nu også udskriver dags dato.

Jeg vil undersøge nærmere hvad tiden er indstillet til på min mysql server.

Smider du et svar? :- )
Avatar billede arne_v Ekspert
11. april 2010 - 15:08 #5
kommer her
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