Bonjour à tous,
J'utilise aujourd'hui deux fonctions pour calculer l'âge d'une personne, soit je calcule l'âge par rapport à la date du jour, et alors je n'ai besoin que d'un paramètre(la date de naissance), soit je calcule l'âge par rapport à une date que je passe en paramètre j'ai alors deux paramètres.
J'ai donc :
1 2 3 4 5 6 7 8 9 10
|
CREATE FUNCTION age( naissanceamj INT) RETURNS INT
RETURN (
SELECT SUBSTRING(CURDATE()-naissanceamj,1,length(curdate()-naissanceamj)-4)
) ;
CREATE FUNCTION `age_d`( naissanceamj INT,date INT) RETURNS int(11)
RETURN (
SELECT SUBSTRING(date-naissanceamj,1,length(date-naissanceamj)-4)
) |
Mais je voudrais de pas avoir à vérifier en PHP si j'ai ma date ou non pour décider ensuite de quel fonction utiliser, j'aimerais faire dans ma fonction SQL un
1 2 3
| IF date='' THEN SELECT SUBSTRING(CURDATE()-naissanceamj,1,length(curdate()-naissanceamj)-4)
ELSE SELECT SUBSTRING(date-naissanceamj,1,length(date-naissanceamj)-4)
END IF |
mais cette syntaxe ne fonctionne pas.
Pas plus que celle-ci:
SELECT IF(date=,SUBSTRING(CURDATE()-naissanceamj,1,length(curdate()-naissanceamj)-4), SUBSTRING(date-naissanceamj,1,length(date-naissanceamj)-4))
A l'utilisation j'ai le message d'erreur suivant:
#1054 - Unknown column '’’' in 'field list'
Si quelqu'un voulait bien m'aider?
merci d'avance
Partager