Avatar billede mkjaer Nybegynder
12. november 2006 - 15:55 Der er 6 kommentarer og
1 løsning

if-statement i en mysql query?

Hejsa,

Jeg har en database/tabel, hvor jeg har en startdato og en slutdato (formateret som Unix timestamp):

id  navn    startdato      slutdato
------------------------------------------
1  Test    1160431200    1167433200
2  Test2  1167519600    1167539600

Jeg vil gerne lave en forespørgelse hvor MYSQL tester om aktuel tid ligger mellem startdato og slutdato og så udskriver værdi 1 i en række, hvis det er tilfældet. Jeg forestiller mig outputet sådan her:

id  navn    aktuel
-------------------------------------------
1  Test    1
2  Test2  0


Kan man det? Og hvordan gøres det?

Hilsen
Martin
Avatar billede arne_v Ekspert
12. november 2006 - 16:08 #1
prøv:

SELECT id,navn,IF(x BETWEEN startdato AND slutdato,1,0) FROM tabel
Avatar billede mkjaer Nybegynder
12. november 2006 - 19:02 #2
Super, det spiller.
Hvis jeg nu til have x til at være værdien time(). Hvordan får jeg så denne variabel ind i query'en?

Jeg har prøvet med
SELECT overskrift,IF('time()' BETWEEN startdato AND slutdato,1,0) FROM nyheder
- men det virker ikke.
Avatar billede mkjaer Nybegynder
12. november 2006 - 19:05 #3
Et tillægsspørgsmål mere. Kan jeg give denne værdi et mere nyttig navn, så den bliver nemmere at sortere efter.

Nuværende output:

overskrift          IF('$time' BETWEEN startdato AND slutdato , 1 , 0) 
----------------------------------------------------------------------
Ny hjemmeside      0
Pressemeddelelse    0
Produktomtale i    1
Testfilm            1
Avatar billede mkjaer Nybegynder
12. november 2006 - 19:06 #4
...
sidste løste jeg selv:
SELECT id,navn,IF(x BETWEEN startdato AND slutdato,1,0) AS aktuel FROM tabel
Avatar billede arne_v Ekspert
12. november 2006 - 22:37 #5
SELECT overskrift,IF(UNIX_TIMESTAMP() BETWEEN startdato AND slutdato,1,0) FROM nyheder

måske
Avatar billede mkjaer Nybegynder
13. november 2006 - 19:44 #6
Jeg er sgu imponeret. Vil du poste et svar?

Bedste hilsner,
Martin
Avatar billede arne_v Ekspert
13. november 2006 - 20:11 #7
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