Avatar billede cronck Nybegynder
19. april 2012 - 11:17 Der er 1 kommentar og
1 løsning

Datetime bliver ikke parset korrekt

Hej,

Jeg har lavet nedestående SQL som "burde" selecte alle rækker som er ældre end i dag, kl. 07:30.

Det lader dog ikke til at "Send_dtm" bliver parset som et korrekt timestamp i MySQL, da min query ikke returnerer nogen rækker.
Erstatter jeg NOW() med f.eks. '2012-04-19 11:00' returnerer den heller ej noget.
Sætter jeg et 1-tal ind istedet for NOW(), returnerer den alle rækker.

Kan I hjælpe med at finde ud af hvordan jeg gør det rigtigt?

Her er min SQL:
SELECT NOW(),
      CASE
        WHEN Hour_vc = 7 THEN DATE_ADD(Dato_dt, INTERVAL 450 MINUTE)
        WHEN Hour_vc = 19 THEN DATE_ADD(Dato_dt, INTERVAL 1170 MINUTE)
      END AS "Send_dtm",
      rapport.*
FROM  rapport.overdragelse
  WHERE "Send_dtm" < NOW()
Avatar billede cronck Nybegynder
19. april 2012 - 12:48 #1
Tror jeg fandt ud af det.

Man kan åbenbart ikke bruge den genererede/fiktive værdi i sin where-clause. :)
Avatar billede MADOlsen Forsker
19. april 2012 - 13:19 #2
Har du fundet en anden måde at gøre det på?
Ellers burde noget i stil med nedenstående fungere (sidder ikke lige et sted hvor jeg kan komme til at checke syntax'en).

SELECT * FROM rapport.overdragelse
WHERE Date(oprettelsestidspunkt) < Date(Now())
OR ((Date(oprettelsestidspunkt) = Date(Now()))
and (Time(oprettelsestidspunkt) < Time('07:30:00')));
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

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