簡體   English   中英

如何確定MYSQL中年份和月份中兩個日期之間的差異?

[英]How to determine the difference between two dates in years and months in MYSQL?

該數據庫保存着各個年齡段的記錄,其中包括1個月以下重要的1歲以下的孩子。

使用

SELECT TIMESTAMPDIFF(YEAR, dob, CURDATE()) AS age; 

您遇到的問題是,任何<1年的人都顯示為0;

使用

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE()) AS age; 

1歲以上的任何人都只會在幾個月內露面,因此43歲的年齡將大於500個月

使用

SELECT TIMESTAMPDIFF(MONTH, dob, CURDATE()) / 12 AS age; 

您可以獲得一些結果,例如3個月大的.25或43歲以上的人的43.25

我想要達到的目標是

  • 43y 3m
  • 0y 3m
  • <1年的人甚至只有300萬

怎樣在mysql查詢中表達這樣的東西?

 SELECT IF(TIMESTAMPDIFF(MONTH, dob, CURDATE())>12,TIMESTAMPDIFF(MONTH, dob, CURDATE())/12+ 'yeasrs old' , TIMESTAMPDIFF(MONTH, dob, CURDATE())+'months old')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM