计算某个日期到今天一共有多少年多少月多少日

比如是07年9月1号,到现在有多少年零几个月零几天这样,不是要他们的总数。是类似按有多少天,再转换成有几年零几个月零几天,就是算工龄一样。

 

declare @date datetime
set @date = '20070901'

declare @year int, @month int, @day int

set @year = datediff(year, @date, getdate()) - (case when month(@date)>month(getdate()) then 1 when month(@date)=month(getdate()) and day(@date)>day(getdate()) then 1 else 0 end)
set @month = datediff(month, @date, getdate()) - (case when day(@date)>day(getdate()) then 1 else 0 end) - 12*@year
set @day = datediff(day, dateadd(month, (@year*12 + @month), @date), getdate())

select= @year, 月 = @month, 天 = @day

 

 

年           月           天
----------- ----------- -----------
X           X           X

(1 行受影响)

 

http://topic.csdn.net/u/20090406/00/21d8efda-0644-434b-bb07-9140c3cd26b3.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值