使用子查询,显示在戴维斯卡尔之前雇佣的所有教职员工的姓名及其服务年限(四舍五入到小数点后0位)。
这是我的问题:
Select CONCAT(FName,' ',LName) As 'Faculty Name' ,faculty.DateHired AS 'Years Of Services'
from faculty
where faculty.DateHired < (select faculty.DateHired from faculty where faculty.FacultyID = 1239)
我想计算服务年数,但输出显示的日期是雇用的(2000-08-22)。
但我希望显示与此类似的输出:
faculty name | years of experience
Dean joans 19
sean ali 14
我不知道如何做到这一点,请帮助我,我做错了。如果要查看在给定屏幕截图中可以看到的任何数据。谢谢 enter image description here
答案 0 :(得分:2)
如果您担心的是获得服务年限。
你可以通过更换教师来完成.DateHired AS&#39;多年服务&#39; 至 FLOOR(datediff(current_date(),faculty.DateHired)/ 365)&& 39;服务年限&#39; 所以完整的陈述就像
选择CONCAT(FName,&#39;&#39;,LName)作为&#39;教职员名称&#39; ,FLOOR(datediff(current_date(),faculty.DateHired)/ 365)as&#39;服务年限&#39; 来自教师 faculty.DateHired&lt; (选择faculty.DateHiredHiredHiredHulty in faculty.FacultyID = 1239)