设为首页 加入收藏

TOP

sql: 生日赠品中的相关算法
2014-11-24 01:36:22 来源: 作者: 【 】 浏览:6
Tags:sql: 生日 赠品 相关 算法
sql: 生日赠品中的相关算法
---2013年10月9日生日,就以2012年9月1日至2013年8月31日 算 (因  生日月份前  月之最後一天  算日)
DECLARE @birthday  datetime,@now  datetime,@stat datetime,@end datetime,@statbirthday datetime,@endbirthday datetime,@thirdbirthday datetime,@firthbirthday datetime, @year int,@month int , @day int,@str varchar(20),@total decimal
set @now=getdate()
set @year=Year(getdate())
set @birthday='1992-10-14'
set @month=month(@birthday)
set @day=day(@birthday)
set @str=cast(@year as varchar(4))+'-'+cast(@month as varchar(2))+'-'+cast(@day as varchar(2))
set @birthday=cast(@str as datetime)

--  生日有效生首日起至3 月 有效
set @firthbirthday=DATEADD(mm, DATEDIFF(mm,0,@birthday), 0)  --当月的第一天
set @thirdbirthday=DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+3, 0)) --上三个月最后的一天
set @statbirthday=DATEADD(mm, DATEDIFF(mm,0,@birthday)-13, 0)
set @endbirthday=DATEADD(ms,-3,DATEADD(mm, DATEDIFF(m,0,@birthday)-1, 0))
select @statbirthday,@endbirthday,@firthbirthday,@thirdbirthday

SELECT @total=ISNULL(SUM(amount),0) FROM View_birthdayVipdlyList WHERE indate>@statbirthday AND  indate<@endbirthday and  vipno='654321'
select @total*.01


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇解决SQL server2005 sa用户登录的.. 下一篇SQL好习惯:编写支持可搜索的SQL

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: