|
create procedure [dbo].[GetYearMonthDayPro] ( @begin datetime , @end datetime ) as begin
/* * 功能:计算两个日期之差 * * 描述:返回年月日,结果精确到天,参数为getdate()时计算出生信息* */
declare @Ageyear int declare @Agemonth int declare @Ageday int
set @Ageyear =datediff(year, @begin, @end)- case when dateadd(year, datediff(year, @begin, @end), @begin)> @end
then 1 else 0 end
set @Agemonth=ltrim(datediff(month, @begin, @end)- case when dateadd(month,datediff(month, @begin, @end),@begin)> @end
then 1 else 0 end)-12*@Ageyear
if(day(@begin)<day(@end) or day(@begin)=day(@end))
set @Ageday=day(@end)-day(@begin)
else
set @Ageday=datediff(day,(ltrim(year(@end))+'-'+ltrim(month(dateadd(mm,-1,@end)))+'-'+ltrim(day(@begin))),(ltrim(year(@end))+'-'+ltrim(month(@end))+'-'+ltrim(day(@end))))
select ltrim(@Ageyear)+'年'+ltrim(@Agemonth)+'月'+ltrim(@Ageday)+'天'
/*
--示例1 exec GetYearMonthDayPro '2008-6-21','2008-7-21'
*/ end
共2页: 上一页 [1] 2 下一页
|