我想找到两个日期列之间的持续时间。为此,我使用 DATEDIFF 函数分别查找年份和月份,但希望两个结果都在单列中。
下面给出了两列。
start_dt | end_dt
06-Oct-2009 15-Jul-2011
需要的结果
Duration(years.months)
2.3
我认为没有现成的 API 可以以您提到的格式提供结果。您需要使用DATEDIFF
函数来获取所需的最小面额的差值,然后将结果除以适当的值以获得所需格式的持续时间。像这样的东西:
DECLARE @start DATETIME
DECLARE @end DATETIME
DECLARE @duration INT
SELECT @start = '2009-10-06', @end = '2011-07-15'
SELECT @duration = DATEDIFF(mm, @start, @end)
SELECT CONVERT(NVARCHAR, @duration / 12) + '.' + CONVERT(NVARCHAR, @duration % 12)
这可以通过编写一个函数来更好地实现,该函数将获取日期和最小面额并以所需格式返回持续时间,因为它需要 TSQL,而普通 SQL 是不够的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)