从表列中计算从指定日期算起的年和月?

v09wglhw  于 2021-08-13  发布在  Java
关注(0)|答案(2)|浏览(246)

我要接电话 purchasedate 从一个表格中计算出总的年数加上从今天的日期算起的月数的十进制等值,并能将计算出的数据以 yyy.mm .
i、 e 4.5将被破译为4年零6个月 purchasedate .

xwbd5t1u

xwbd5t1u1#

如果你计算出月数的差值,那么除以12得到年数,然后用余数得到月数,你可以把月数转换成分数。

declare @PurchaseDate date = '01 Jan 2015', @Now date = current_timestamp

select convert(varchar(3),datediff(month,@PurchaseDate,@Now)/12) + '.' + substring(convert(varchar(5),convert(decimal(9,2),(datediff(month,@PurchaseDate,@Now)%12)/12.0)),3,2)

给予

5.33

可能需要对边缘情况进行一些调整。
注意除以 12.0 强制一个分数结果-否则你只得到一个整数。

xdnvmnnf

xdnvmnnf2#

乘以12再加上月份:

select dateadd(month, floor(@years * 12), purchasedate)

相关问题