Ik zoek een functie als explode maar dan voor mysql.
Ik wil nl een where met een jaar die in de datum staat.
Dus de datum staat gewoon als 2007-01-18 in de database. en daarvan wil ik het jaar in een where.
Bijv. Select * where datumjaar[0](explode("-",datum))=2007.
Oh dat is simpeler dan ik dacht. maar je moet het maar net weten he :)
Bedankt! het wil alleen nog niet echt lukken. Misschien dat iemand hier een idee heeft. Ik heb o.a. datums en weken in de db en daarmee wil ik de rest van de data sorteren. Dit ging prima totdat het 2007 werd en ik data van 2006 en 2007 nodig heb. Nou heb ik het allemaal al toegevoegt maar moet alleen nog de juiste query hebben. Deze is nu:
SELECT iets FROM iets WHERE week >= '".$week1."' && week <= '".$week2."' && YEAR(datum) >= ".$jaar1." && YEAR(datum) <= ".$jaar2.""
Nou heb ik de weken en jaren enzo al een aantal keer verplaatst maar lijkt niet veel te helpen.
Als iemand een idee/oplossing weet, graag.
Bedankt voor je reactie, maar werkt nog niet zoals het hoort.
SELECT blabla FROM blabla WHERE week BETWEEN ".$week1." AND ".$week2." AND YEAR(datum) BETWEEN ".$jaar1." AND ".$jaar2."
Dit wordt als output: WHERE week BETWEEN 01 AND 03 AND YEAR(datum) BETWEEN 2006 AND 2007
Ik krijg dan week 1 tm 3 van 2007, niets van 2006. als de eerste week boven de 3 komt, krijg ik niks (dan is er geen data van 2007 natuurlijk, maar eigenlijk moet er dan data van 2006 tm 't einde van 2007)
Wat doen die weeknummers in jouw tabel? Een datum heeft een weeknummer al in zich, met de functie WEEK() kun je deze zo opvragen. Dit hoor je dus niet nogmaals op te slaan, dit gaat gegarandeerd verkeerd.
Er was iets waardoor ik dat had gedaan. Maar ik zal eens proberen het te vervangen met die functie. Maar dan wordt de query:
SELECT blabla FROM blabla WHERE WEEK(datum) BETWEEN ".$week1." AND ".$week2." AND YEAR(datum) BETWEEN ".$jaar1." AND ".$jaar2."
?
Nou heb dan bij dit:
WHERE WEEK(datum) BETWEEN 15 AND 35 AND YEAR(datum) BETWEEN 2006 AND 2007
De weken 15 tm 35 in 2006. Niks van 2007.
EDIT: en hij geeft week 1 niet meer. Hij begint bij week 2 :S