0
votes

Y a-t-il une requête SQL pour convertir une date à un âge

Supposons que j'ai cette requête:

20198120


3 commentaires

Vous voulez cette solution dans MySQL?


Vérifiez cette réponse. https://stackoverflow.com/questions/10506731/get-Différence - années-ye-entre-deux-Dates-in-mysql-as-A N-Integer


Cette réponse traite du sujet de manière approfondie: Stackoverflow.com/Questtions/48756627/...


3 Réponses :


0
votes

Les dates de soustraction de MySQL ne font pas ce que vous attendez. Cela transforme effectivement les dates en entiers et les aborde. Donc, typiquement datte 2020-01-22 code> devient entier 20200122 code>. Ce n'est pas ce que vous voulez.

Une méthode pour calculer un âge est d'utiliser Fonction de date Timestampdiff () Code> , comme: P>

timestampdiff(year, dob, curdate())


0 commentaires

0
votes

in SQLServer Vous pouvez écrire datrodiff (année, getDate (), '2002/08/11') .


0 commentaires

0
votes

Une autre façon de le faire est la suivante:

select CONCAT(YEAR(CURDATE()) - YEAR(DOB) -1 
              , '.'
              , ABS(MONTH(CURDATE()) - MONTH(DOB)+1)) as age
FROM customerDetails 
WHERE customerid = (SELECT max(customerid) 
                    FROM customerDetails)


4 commentaires

Cela ne tient pas compte de la date et du mois, il se comporte donc comme tout le monde est né le 1er janvier.


Merci @gmb, changé la solution à celle qui pourrait être d'une aide d'une aide ...


Je vais marquer aussi correct lorsque vous me montrerez à inclure le lieu de la clientèle = Sélectionnez Max (CustomerID) de CompagnonDétails


@grimreauperz, j'ai mis à jour ma réponse. N'oubliez pas que vous pouvez maintenant également uppoter parce que vous avez plus de 15 points. S'il vous plaît laissez-moi savoir si quelque chose ne fonctionne pas ...