这个Sql语句怎么写啊!
表 info
属性 reg_date 注册时间 datetime 型
lasttime 有效期 int 型
目的 reg_date+lasttime 于当前时间 getdate() 比较
返回字符串 过期/正常
问题点数:60、回复次数:8Top
1 楼Alang_79(欲寄相思千点泪,流不到,楚江东。)回复于 2004-12-03 12:40:57 得分 0
你的有效期是以什么为单位的?年?月?日?Top
2 楼saintqiqi(钻石星辰(www.saintzone.net))回复于 2004-12-03 12:41:57 得分 0
int 型
天为单位Top
3 楼david_xu322(奋进2006)回复于 2004-12-03 12:43:38 得分 20
你的有效期的單位是什麼?我以年為例
select *,case when dateadd(y,lasttime,reg_date)>getdate() then '過期' else '正常'end as Flag from infoTop
4 楼david_xu322(奋进2006)回复于 2004-12-03 12:45:22 得分 0
天为单位
將更改為dateadd(d,lasttime,reg_date)Top
5 楼saintqiqi(钻石星辰(www.saintzone.net))回复于 2004-12-03 12:49:52 得分 0
谢谢!david_xu322!
Top
6 楼suntonycomm(太阳花)回复于 2004-12-03 12:52:49 得分 20
select case
when datediff(day,dateadd(day,10,'2004-01-01'),getdate()) >=0 then '过期'
when datediff(day,dateadd(day,10,'2004-01-01'),getdate()) <0 then '正常'
end as '状态'Top
7 楼tomtown530(梦想一定会实现!)回复于 2004-12-03 12:58:21 得分 20
select * from info where datediff('d', getDate(), reg_date)>lasttime and userid='use'
如果有记录说明过期,如果没有说明还没有过期
Top
8 楼tomtown530(梦想一定会实现!)回复于 2004-12-03 12:59:55 得分 0
如果一定要在执行SQL后返回文字,那就可以写成存储过程Top




