我需要计算人员从PerBeginDate到PerEndDate字段的工作年龄。格式必须为y / m / d,例如1/5/10(1年5个月10天)或0/0/30(30天)。
答案 0 :(得分:0)
这是我能想到的最接近的解决方案
CONCAT(IFNULL(YEAR(FROM_DAYS(DATEDIFF(PerEndDate,PerBeginDate))),0)," / ",
MONTH(FROM_DAYS(DATEDIFF(ADDDATE(PerEndDate,INTERVAL 1 YEAR),PerBeginDate)))-1," / ",
DAY(FROM_DAYS(DATEDIFF(ADDDATE(PerEndDate,INTERVAL 1 YEAR),PerBeginDate)))-1)
INTERVAL 1 YEAR
部分是为了防止DATEDIFF显示为0。