请教一条记录中多个日期如何进行判断
现有一个客户资料表,客户表表结构如下:
客户名称 营业执照有效期 税务登记证有效期 卫生许可有效期 生产许可有效期
企业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