sql: 生日赠品中的相关算法
2024-10-20 03:18:27
---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
最新文章
- C#版 Socket编程(最简单的Socket通信功能)
- the usage of linux command ";expect";
- NSIS打包(二)第一个安装包
- 一些CSS常见的小问题小笔记
- 【简单易懂的AMV图文教程-2】VEGAS基础进阶——认识关键帧
- 使用caffe自动测试模型top5的结果
- Girls and Boys(poj 1466)
- PHP Static Self 的区别
- http协议(转)
- oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务
- centos 6安装redis 2.8.19
- ASP.NET网页验证码常用方法
- 【转】Google推荐的命名规则——Android图片资源
- rop框架中@ServiceMethod注解属性
- foreach遍历----for(object o: list)
- linux学习之(五)-linux文解压、压缩、安装
- phome_ecms_news 数据表字段解释(新闻系统模型-主表)
- Android - 和其他APP交互 - 让其他app启动你的activity
- BZOJ2431_逆序对数列_KEY
- 学IT应该看些书?