我要接电话 purchasedate 从一个表格中计算出总的年数加上从今天的日期算起的月数的十进制等值,并能将计算出的数据以 yyy.mm .i、 e 4.5将被破译为4年零6个月 purchasedate .
purchasedate
yyy.mm
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 强制一个分数结果-否则你只得到一个整数。
12.0
xdnvmnnf2#
乘以12再加上月份:
select dateadd(month, floor(@years * 12), purchasedate)
2条答案
按热度按时间xwbd5t1u1#
如果你计算出月数的差值,那么除以12得到年数,然后用余数得到月数,你可以把月数转换成分数。
给予
可能需要对边缘情况进行一些调整。
注意除以
12.0
强制一个分数结果-否则你只得到一个整数。xdnvmnnf2#
乘以12再加上月份: