FLOOR(datediff(DY,birthday,getdate())/365.25)
1. 可以用ceiling()代替floor()吗
2.上面这个语句不是最精确的吧?毕竟除的是365.25,有误差的,会不会对真实年龄有影响?
3.可以用round()代替floor()吗?
...收起
--你要精确计算?到了生日那天就大一岁--比如--select dbo.fn_age('1984-09-12','2015-09-11') 是31岁--select dbo.fn_age('1984-09-12','2015-09-12') 是32岁CREATE function fn_age( @birthday datetime, --出生日期 @today datetime --截至日期)returns intasbegin if @birthday > @today begin return 0; end declare @age int se
...全文