2012-10-14 72 views
0

我有一個名爲職員表中的列SQL查詢列出員工的工齡形式n年和m個月

empid,empname,joining date,retiring date 
1,employee,2000-1-1,2010-3-1 

我必須獲取員工的服務年限。輸出應該如下:

years months 
10  2 
+0

請參閱:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html –

回答

5

您可以使用MySQL的TIMESTAMPDIFF()函數獲得的整年數和整月加入&退休日期之間的數,則採取後一種模12獲得數自上次全年月:

SELECT empname, 
     TIMESTAMPDIFF(YEAR, `joining date`, `retiring date`)  AS years, 
     TIMESTAMPDIFF(MONTH, `joining date`, `retiring date`) % 12 AS months 
FROM employee 

看到它的sqlfiddle