我正在尝试使用Datediff函数来让我从一个用户那里消失几年,但这比我想象的要复杂得多。
SELECT DATEDIFF( DD,'1963-07-22','2016-07-23')这将给我19360天,我认为这是因为2016年有一个飞跃年,这是很好的。
我想做的是得到年,而不是那些日子。
如果将间隔从DD更改为YY(YYYY),则只计算年份。
发布于 2015-07-23 14:51:26
正确的答案是:计算某人的年龄,或者两个日期之间用截短的年份表示的差异
year(@today)-year(@birthDate)+floor((month(@today)-month(@birthdate)+floor((day(@today)-day(@birthdate))/31))/12);不管闰年如何,这都是可行的。是否出生在一个较晚的月份,甚至是同一个月的较晚的一天。这也会忽略小时和分钟,就像计算一个人的年龄一样。
发布于 2015-07-23 13:46:03
根据我的经验,最好使用这两个日期之间的天数,然后精确地除以365.25,然后再舍入到偶数年。我想这会给你几年来最精确的年龄。
发布于 2021-02-12 19:08:40
在DateDiff中使用"yyyy“时,只使用日期的年份部分来计算差额。省略了月和日。这将产生结果,有时是正确的,有时是不正确的一年。
试着用这个代替。
SELECT Int((#2016-07-23#-#1963-07-22#)/365.25);https://stackoverflow.com/questions/31589111
复制相似问题