〓〓〓〓〓〓〓〓〓日期比较问题〓〓〓〓〓〓〓〓〓
急死我了~~
表aa
开始日期bdate varchar(50) 如2007-05-01
结束日期edate varchar(50) 如2007-06-26
想得到如下结果
select rqzt = ????
日期区间已经过了今天--- 上例即是 则为 执行完毕
日期区间包含今天 ------------- 则为 执行中
日期区间在今天以后 ------ 则为 未执行
怎么弄???
------解决方案--------------------说详细点,rqzt是什么东西
你想得到什么东西
表aa结构是什么
------解决方案--------------------select rqzt=case when getdate()> convert(datetime,edate) then '执行完毕 ' when getedate() <convert(datetime,bdate) then '未行完毕 ' else '执行中 ' end from tablename
------解决方案--------------------if edate < convert(varchar(10), getdate(), 120)
--结束
else if edate = convert(varchar(10), getdate(), 120)
--执行中
else
--未执行
------解决方案--------------------select rqzt = case when datediff(dd,edate,getdate())> 0 then '执行完毕 '
when datediff(dd,bdate,getdate())> 0 and datediff(dd,edate,getdate()) <0 then '执行中 '
when datediff(dd,bdate,getdate()) <0 then '执行完毕 '
end
from 表aa