我需要找出年份中两个date的差异,但是年份应该是十进制的示例,我需要找出16-jun-2010到30-Sep-2014之间的差异
而且应该是4.30年
我尝试以下方式选择DATEDIFF(YY,'16-jun-2010','30-sep-2014')作为YearsOfServices
它只给我4个
发布于 2016-01-05 14:59:19
内置函数datediff()的作用是计算to日期之间跨越的期间边界的数量。
datediff(yy,'16 jun 2014','30 Sep 2015')
returns 1如果您计算两个日期之间的差值(以天为单位),并将它们除以一个日历年的平均长度(以400年为单位的天数)(365.2425),则会得到更准确的结果:
datediff(day,{start-date},{end-date},) / 365.2425例如,
select datediff(day,'1 Jan 2000' ,'18 April 2014') / 365.2425return 14.29461248 -只需将其舍入到所需的精度即可。
发布于 2016-01-05 15:15:07
请试试这个
SELECT DATEDIFF(dd, '16-jun-2010','30-Sep-2014')/365.0 AS DiffDate你要么试一试
SELECT DATEDIFF(mm, '16-jun-2010','30-sep-2014')/12.0 AS DiffDate发布于 2016-01-05 15:47:27
你可以试试这个
Declare @a Date
declare @b date
set @a ='07-01-2013'
set @b='08-02-2014'
select (DATEDIFF(DAY,@a,@b))/convert(numeric,365)https://stackoverflow.com/questions/34605742
复制相似问题