SQL query probleem

  • Ik moet voor school een website bouwen welke ook daadwerkelijk gebruikt gaat worden, nu heb ik 3 tabellen waarvan 1tje het belangrijkste is. Dat zijn de PERIODES..


    Nu heb ik de volgende query gemaakt:

    SQL
    SELECT * FROM periods WHERE (DATE_FORMAT(NOW(),'%m-%d') BETWEEN DATE_FORMAT(startdate,'%m-%d') AND DATE_FORMAT(enddate,'%m-%d')) OR (enddate < startdate AND (DATE_FORMAT(NOW(),'%m-%d') BETWEEN '01-01' AND DATE_FORMAT(enddate,'%m-%d')))OR (enddate < startdate AND (DATE_FORMAT(NOW(),'%m-%d') BETWEEN DATE_FORMAT(startdate,'%m-%d') AND '31-12')) LIMIT 3


    Echter deze query werkt alleen als er een volledige maandperiode aangegeven is, dus bijv. oud en nieuw 31-12-2012 tot 01-01-2013 geeft hij niet weer. Maar als ik van Oud en Nieuw 01-12-2012 en 31-12-2012 maak dan geeft hij m wel weer.


    Kan iemand mij hier zo spoedig mogelijk mee helpen ?


    Bedankt!

    1) Eigenaar & CEO // iSenses
    2) Eigenaar & CEO // HoodGangster
    3) Co-Owner & Captian @WMCity V3.

    Bewerkt één keer, laatst door ZiraX ().

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Wat zit er in je databank van tijds formattering?
    DATETIME of TIMESTAMP?


    Meestal werk ik voor groter/kleiner/between altijd met een omzetting naar timestamp.
    Dan heb je 1 cijfer, waarbij je gewoon kijkt of dit groter/kleiner/between is.


    Van school uit moeten we verplicht met DATETIME werken ipv TIMESTAMP.. -.-' < feit is dat dit moet werken, maar ik weet echt niet hoe ^_^.. althans.. fout is ver te zoeken.

    1) Eigenaar & CEO // iSenses
    2) Eigenaar & CEO // HoodGangster
    3) Co-Owner & Captian @WMCity V3.

  • vanawege dat je 2012 & 2013 krijgt vind hij niet echt fijn, daardoor zal hij hem niet echt goed weergeven,
    ik raad om de functie unix_timestamp() in sql te gebruiken converteert alles lekker naar een unix timestamp en daarmee laten vergelijken :). Werkt perfect.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!