+ -
当前位置:首页 → 问答吧 → sql计算两个日期相差

sql计算两个日期相差

时间:2011-11-26

来源:互联网

假如有两个人的出生日期分别是1999-12-31,,2000-1-1 ,如何用sql计算出他们相差多少年(去尾法取整)

作者: kyvin163   发布时间: 2011-11-26

SQL code
datediff(year,'1999-12-31','2000-1-1')

作者: ssp2009   发布时间: 2011-11-26

用datediff

作者: roy_88   发布时间: 2011-11-26

去尾法取整?
什麼意思,取年份,還是取月份再計算?

作者: roy_88   发布时间: 2011-11-26

引用 1 楼 ssp2009 的回复:
SQL code
datediff(year,'1999-12-31','2000-1-1')


这个函数得出来为 1 但实际他们只相差一天,谢谢

作者: kyvin163   发布时间: 2011-11-26

引用 4 楼 kyvin163 的回复:

引用 1 楼 ssp2009 的回复:
SQL code
datediff(year,'1999-12-31','2000-1-1')


这个函数得出来为 1 但实际他们只相差一天,谢谢

SQL code

datediff(d,'1999-12-31','2000-1-1')

作者: roy_88   发布时间: 2011-11-26

try this..
SQL code

select datediff(d,'1999-12-31','2000-1-1')/365

作者: ap0405140   发布时间: 2011-11-26

引用 3 楼 roy_88 的回复:
去尾法取整?
什麼意思,取年份,還是取月份再計算?


我的意思是如果这个两个日期差为0.99年的话,那么用去尾法得到的就是0,而不是1;我问题举得两个日期相差才一天,得到的结果应该为0,用datediff函数,也就是一楼和你的方法得到的结果是1,这样的话...

作者: kyvin163   发布时间: 2011-11-26

引用 6 楼 ap0405140 的回复:
try this..

SQL code

select datediff(d,'1999-12-31','2000-1-1')/365


这种方法算出来会有误差,毕竟瑞年会多一天,数据就不准确了 谢谢

作者: kyvin163   发布时间: 2011-11-26

引用 6 楼 ap0405140 的回复:
try this..

SQL code

select datediff(d,'1999-12-31','2000-1-1')/365


这种算法会有误差,毕竟还要考虑瑞年会多一天 谢谢

作者: kyvin163   发布时间: 2011-11-26

引用 8 楼 kyvin163 的回复:

引用 6 楼 ap0405140 的回复:
try this..

SQL code

select datediff(d,'1999-12-31','2000-1-1')/365


这种方法算出来会有误差,毕竟瑞年会多一天,数据就不准确了 谢谢


這樣計算都是有問題,這條記錄,是按1999年的天數還是2000年的天數?

作者: roy_88   发布时间: 2011-11-26