日期:2014-05-17  浏览次数:20772 次

请教一条记录中多个日期如何进行判断
现有一个客户资料表,客户表表结构如下:
客户名称 营业执照有效期 税务登记证有效期 卫生许可有效期 生产许可有效期
   企业1     2013-11-12       2014-05-10    2013-11-15      2013-12-31
   企业2     2013-11-15       2014-03-10    2013-11-19      2013-12-31

在查询时将四个日期与当前日期进行判断,如果全部大于90天,则直接显示查询结果;如果有一个执照到期则显示该企业执照到期,感谢各位赐教。

------解决方案--------------------
大概就是这样了,你自己再改一下就行

select 客户名称 ,
       case when datediff(dd,sj1,getdate)>90 or 
                 datediff(dd,sj2,getdate)>90 or 
                 datediff(dd,sj3,getdate)>90 or 
                 datediff(dd,sj4,getdate)>90 
                 then '该企业执照到期' 
            else '未过期' end as state,
            
       case when datediff(dd,sj1,getdate)>90
                 then  '营业执照有效期没过期。'
            when datediff(dd,sj1,getdate) <0
                 then '营业执照有效期过期。'
            else '营业执照有效期即将过期。'
       end + 
       case when datediff(dd,sj1,getdate)>90
                 then  '税务登记证有效期没过期。'
            when datediff(dd,sj1,getdate) <0
                 then '税务登记证有效期过期。'
            else '税务登记证有效期即将过期。'
       end + 
       case when datediff(dd,sj1,getdate)>90
                 then  '卫生许可有效期没过期。'
            when datediff(dd,sj1,getdate) <0
                 then '卫生许可有效期过期。'
            else '卫生许可有效期即将过期。'
  &n