Ik wil uit een database alle mensen halen die op een bepaalde datum jarig zijn. Formaat Datum="11-01-2006"
dus alle mensen jarig op 11 janurari, in welk jaar dan ook. Hoe kan ik dat het beste doen?
Je kan hier een Query voor maken, bijvoorbeeld :

$query=(select nummer, voornamen, achternaam from adres where verjaardag = '11-01-2006')
Dat bedoelt hij juist, dat gaat niet!

Maar wel zo:
SELECT *
FROM tabel
WHERE gebdatum LIKE '11-01-%';
Peter de M schreef op 03.05.2006 14:56
Formaat Datum="11-01-2006"


Waarom dit formaat? Gebruik gewoon een DATE-format zodat je netjes de SQL-functies hiervoor kunt gebruiken, welke database gebruik je?

SELECT 
  voornaam 
FROM 
  tabelnaam 
WHERE 
  MONTH(geboortedatum) = MONTH(NOW()) 
AND 
  DAY(geboortedatum) = DAY(NOW())

Maak gewoon gebruik van de vele datum- en tijdfuncties die de database heeft te bieden. Dat werkt een stuk beter dan gekloot met php.

En zoals Remco ook al zegt, "11-01-2006" is natuurlijk GEEN datum. Een datum sla je op in een DATE of een DATETIME. Een ander formaat is onhandig (TIMESTAMP) of gewoon achtelijk (CHAR, VARCHAR, etc.).

Edit: Domme fout gemaakt. Al zijn alle fouten zelden slim te noemen...

Reageren