SQL statement IF

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Zero XT

Zero XT

22/07/2009 17:22:00
Quote Anchor link
Beste mensen,

Ik wil graag iets uit de database selecteren die een waarde true of false mee krijgt (of iets in die geest).
Wanneer de datum in de database kleiner is dan 2 dagen dan moet er een bepaalde waarde true krijgen anders false.

Nu had ik zoiets als dit:
'SELECT IF(datum < NOW() DATE_ADD(datum, INTERVAL 2 DAY)) AS FROM table'

Maar ik kom er niet uit. Kan iemand me helpen?
 
PHP hulp

PHP hulp

24/12/2024 01:02:03
 
Roeltje M

Roeltje M

22/07/2009 17:24:00
Quote Anchor link
Krijg je een error te zien? Sowieso achter AS nog een nickname plaatsen. Je kunt gaan experimenteren in PHPMYADMIN.
 
Zero XT

Zero XT

22/07/2009 17:27:00
Quote Anchor link
Ohjah natuurlijk.. die was ik even vergeten.

Nu is het zo:
SELECT IF(datum < NOW() DATE_ADD(datum, INTERVAL 2 DAY)) AS test FROM wallpapers

Maar ik krijg een error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_ADD(datum, INTERVAL 2 DAY)) AS test FROM wallpapers
 
Roeltje M

Roeltje M

22/07/2009 17:36:00
Quote Anchor link
Moet het niet zijn iets als IF(datum < NOW() + DATE_ADD(datum ...)
 
Zero XT

Zero XT

22/07/2009 17:40:00
Quote Anchor link
hmm heb het geprobeerd maar geen geluk. Ik probeer op de mysql homepage te komen maar op moment lukt het me niet om die te bereiken zoals vele andere sites vanwege crappy internet hier.

Dus ik kom er niet uit.

if($datum < 2)
{
$waarde = true;
}
else
{
$waarde = false;
}

SELECT waarde FROM tabel

Dit moet ik dus ong. vertalen naar sql zodat ik waarde op kan halen. Mogelijk?
 
Dos Moonen

Dos Moonen

22/07/2009 17:55:00
Quote Anchor link
HellRazer schreef op 22.07.2009 17:40:
hmm heb het geprobeerd maar geen geluk. Ik probeer op de mysql homepage te komen maar op moment lukt het me niet om die te bereiken zoals vele andere sites vanwege crappy internet hier.

Dus ik kom er niet uit.

if($datum < 2)
{
$waarde = true;
}
else
{
$waarde = false;
}

SELECT waarde FROM tabel

Dit moet ik dus ong. vertalen naar sql zodat ik waarde op kan halen. Mogelijk?


SELECT IF(datum < 2, 'true', 'false') AS waarde FROM tabel
Dat is je voorbeeld behoorlijk letterlijk vertaald, maar nu zou het niet echt moeilijk meet moeten zijn om het te krijgen zoals jij het wilt.
 
Roeltje M

Roeltje M

22/07/2009 18:09:00
Quote Anchor link
misschien kun je hier iets mee? (dit gebruik ik)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  <?                      $qHomePage = "
                        SELECT
                          bedrijven.bedrijfsnaam,
                          bedrijven.bedrijf_id,
                          CASE WHEN betalingen.afloopdatum > NOW()
                            THEN 1
                            ELSE 0
                          END AS geldig
                        FROM
                          betalingen
                        INNER JOIN
                          bedrijven
                            ON bedrijven.bedrijf_id = betalingen.bedrijf_id
                        INNER JOIN
                          producten
                            ON producten.id = betalingen.product_id
                        WHERE
                          producten.naam = 'homepage'"
;
?>
 
Zero XT

Zero XT

22/07/2009 20:17:00
Quote Anchor link
Hartelijk bedankt. Het is gelukt:

CASE WHEN NOW() < DATE_ADD(W.datum, INTERVAL 2 DAY) THEN 1 ELSE 0 END AS nieuw
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.