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

请问一条记录中多个日期怎么进行判断

2013-11-13 
请教一条记录中多个日期如何进行判断现有一个客户资料表,客户表表结构如下:客户名称 营业执照有效期 税务

请教一条记录中多个日期如何进行判断
现有一个客户资料表,客户表表结构如下:
客户名称 营业执照有效期 税务登记证有效期 卫生许可有效期 生产许可有效期
   企业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 '卫生许可有效期即将过期。'
       end + 
       case when datediff(dd,sj1,getdate)>90
                 then  '生产许可有效期没过期。'
            when datediff(dd,sj1,getdate) <0
                 then '生产许可有效期过期。'
            else '生产许可有效期即将过期。'
       end 
from tb

热点排行