【发布时间】:2017-07-25 04:04:05
【问题描述】:
我想根据datediff 函数对年份进行四舍五入。假设我有两个日期:20/07/2015 和 11/10/1976。得到差值后,我将天除以 365 天,将其转换为年。因此,我应该得到 38.79726027 年,我四舍五入得到 39。
但是,我的 tqsl 脚本似乎没有提供预期的答案。谁能帮我查询?
SELECT [Date of Birth], [Risk_Comm Date],
ceiling(DATEDIFF(year,[Date of Birth], [Risk_Comm Date]))
AS [Age Limit Check] FROM [201610$_1]
【问题讨论】:
-
DATEDIFF返回ints。它的返回值没有什么可以向上或向下舍入的。四舍五入中是否有任何可接受的“晃动”? IE。计算月差并除以可以接受吗?否则,您必须在几天内完成,但闰年会出现问题。由于DATEDIFF计算transitions,它总是会产生一个等于或小于你可能想要的“人类”值的数字。 -
简而言之,如果你不想四舍五入,你应该像
DATEDIFF(DAY,'19761011','20150720')/365.00一样自己计算它
标签: sql sql-server date datediff