SQl日期差异

3 sql sql-date-functions sqldatetime

我需要找到两个差date的年,但年应该是十进制例如,我需要找到之间的差异16-jun-2010,以30-Sep-2014

它应该是4.30

我尝试按照方式选择DATEDIFF(YY,'16 -jun-2010','30-sep-2014')作为YearsOfServices

它只给我4个

jit*_*shi 6

内置函数datediff()确实计算到日期之间交叉的周期边界的数量.

datediff(yy,'16 jun 2014','30 Sep 2015')

returns 1
Run Code Online (Sandbox Code Playgroud)

如果计算两个日期之间的差异,并将它们除以一个日历年的平均长度(以400天为单位的天数(365.2425)),您将获得更准确的结果:

datediff(day,{start-date},{end-date},) / 365.2425
Run Code Online (Sandbox Code Playgroud)

例如,

select datediff(day,'1 Jan 2000' ,'18 April 2014') / 365.2425
Run Code Online (Sandbox Code Playgroud)

return 14.29461248 - 将其四舍五入到所需的精度.