cs_jolicoeur79
Messages postés62Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 1 avril 2018
-
Modifié le 26 oct. 2021 à 22:12
cs_jolicoeur79
Messages postés62Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 1 avril 2018
-
11 janv. 2016 à 18:16
Bonjour,
et bonne année 2016
j'ai un table sous mysql qui contient une date_naissance varchar(10)
qui contient des donnees soit sous format 1980/05/20 ou 1985
et je voudrais calculer age exact;
apres des recherche sur internet j'ai trouver ce code qui calcule age exact :
SELECT *,
YEAR(CURDATE()) - YEAR(`date_naissance`) -
IF(STR_TO_DATE(CONCAT(YEAR(CURDATE()), '-', MONTH(`date_naissance`), '-', DAY(`date_naissance`)) ,'%Y-%c-%e') > CURDATE(), 1, 0)
AS age
FROM `t_table`
le resultat pour les date sous format aaaa/mm/jj se calcul bien
mais pour les format aaaa donne le résultat null
date_naissance | age
1978/12/23 | 37
1985 | Null
est ce que quelqu'un peut m'aider pour améliorer cette requette pour claculer les deux format
et merci
jordane45
Messages postés37840Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention28 novembre 2023342 3 janv. 2016 à 00:52
Bonjour,
j'ai un table sous mysql qui contient une date_naissance varchar(10)
Aie .... pourquoi utilises tu un varchar pour stocker une date ????
Une date .... ça se stocke via un DateTime ou un TimeStamp !
Donc au lieu de stocker tes dates au format aaaa/mm/dd .... enregistres les au format yyyy-mm-dd (dans un champ de type datetime). Tu verras alors que leur manipulation via des requête sera beaucoup (mais alors vraiment beaucoup ) plus simples.
cs_jolicoeur79
Messages postés62Date d'inscriptionsamedi 2 octobre 2004StatutMembreDernière intervention 1 avril 20181 3 janv. 2016 à 22:13
SALUT
JORDANE
je suis tout à fait d'accord avec vous ; mais lorsque je rejoint la société j'ai trouve la base est créé comme ça a cause il y a des gens qui ne rappelle pas de leur date de naissance exact donc je suis obliger de saisir la date sur format yyyy sans ajouter yyyy/01/01
mais dans les statistiques trimestrielle je considere les format yyyy sont saisie sous format yyyy/01/01 .
et merci ;)