[MYSQL] geneste mysql functies in query lukt niet

Pagina: 1
Acties:

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 26-08 00:07
Ik ben bezig met een query waarin ik PERIOD_DIFF gebruik.

deze berekent het verschil in maanden tussen de eerste var en de 2e var.

bijv:
code:
1
2
3
 SELECT PERIOD_DIFF(200205,200202);

 geeft als output 3 (maanden)

nu wil ik ipv van de string 200205 (<jaar><maand>) gebruik maken van de functies NOW() en een datumveld.

aangezien het formaat niet datumveld compatible is moet er worden gegogeld met YEAR() en MONTH();

dat zou er dan zo uit moeten zien:
code:
1
SELECT PERIOD_DIFF( YEAR(NOW()) MONTH(NOW()), YEAR(logboek.datumuitvoering) MONTH(logboek.datumuitvoering) );

wat er eigenlijk uit moet komen is dit:
code:
1
2
3
4
SELECT PERIOD_DIFF(200205,200301);

deze code wordt dan variabel opgebouwd 
met NOW() en een database veld logboek.datumuitvoering.

dit werkt dus niet omdat de functies YEAR() en MONTH() niet gescheiden worden door een operator. zou ik hier een + tussen plakken dan doet die het wel maar telt die de waarden van YEAR(NOW()) en MONTH(NOW()) op, en das nou niet de bedoeling.


Ik heb al in de mysql manual gekeken maar niks gevonden en uit wanhoop heb ik maar alle speciale karakters op mijn toetsenbord geprobeerd :P

Dat wil dus niet werken en de vraag is dus hoe ik deze functies moet scheiden, of is er een andere oplossing :?

  • Grum
  • Registratie: Juni 2001
  • Niet online
concat ?

  • twiekert
  • Registratie: Februari 2001
  • Laatst online: 26-08 00:07
Op woensdag 08 mei 2002 12:01 schreef Grum het volgende:
concat ?
woei :)

dat werkt. ik bedacht me trouwens ook dat met DATE_FORMAT het ook moet lukken.

wat is het beste voor de performance? concat of DATE_FORMAT ?