首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么判断前3天这个SMS_HistoryRecord表有没有记录

2014-01-19 
如何判断前3天这个SMS_HistoryRecord表有没有记录[解决办法] WHERE( HistoryYear + HistoryMonth + Histor

如何判断前3天这个SMS_HistoryRecord表有没有记录

                                                                            
[解决办法]
 WHERE   ( HistoryYear + HistoryMonth + HistoryDay ) = CONVERT(VARCHAR(8), @yesterday, 112) 
我觉得最好把年月日何在一列,你现在这样设计会导致索引无效
[解决办法]
可以适当的优化:

--做判断先查询统计表是否有记录-前1、2、3天的数据
select @SubAMount_1=COUNT(case when CONVERT(varchar(8),SubmitDate,112)= CONVERT(varchar(8),DATEADD(day,-1,getdate()),112) then 1 else null end) 
       @SubAMount_2=COUNT(case when CONVERT(varchar(8),SubmitDate,112)= CONVERT(varchar(8),DATEADD(day,-2,getdate()),112) then 1 else null end) 
       @SubAMount_3=COUNT(case when CONVERT(varchar(8),SubmitDate,112)= CONVERT(varchar(8),DATEADD(day,-3,getdate()),112) then 1 else null end) 
from SMS_SubmitRecord   

热点排行