SQL server 2008 工龄时间计算问题
现在数据表中有一列叫入职时间,格式为:2013-01-11 00:00:00,
现在的问题是想用这个入职时间来计算工龄,想实现以下计算方式:
1、以当年入职的时间计算,到年底满半年以上为条件,当年计算为工龄+1年。
后面年份的按当年时间超半年以上的,计算工龄+1年。
例如:入职时间:2011-05-01,到2011年底满半年以上,工龄算1年,
现在时间2013-05-01,(跨2012年算1年,但2013年未过半年,不能算)工龄算1年。
实际工龄1+1=2年。
请问我想实现这样的计算方式,应该怎样实现?另外工龄显示的话是要数字的,如3年,5年等。
------解决方案--------------------
select (case when MONTH('2011-05-01')<=6 then 1 else 0 end)
+(datediff(yy,'2011-05-01','2013-05-01')-1)
+(case when MONTH('2013-05-01')<=6 then 0 else 1 end)
-----------
2
(1 行受影响)