回 帖 发 新 帖 刷新版面

主题:SQL语句中的日期计算问题

数据库中有一张用户表users,里面有个字段endtime,记录着用户的到期日期,比如到期日期是
2012—11—25,在一个用户信息管理页面中,我想查找还有30天就到期的用户,我是这样尝试的,select *  from users where endtime - datatime.now < 30;程序运行错误,请问这个SQL 语句该怎么写,或者说怎样实现这个功能,敬请各位老师赐教。我用的是c#语言。

回复列表 (共3个回复)

沙发

不知道你是啥数据库,如果是sql server的话,应该这么写。具体也可以参考一下DATEADD函数用法
select *  from users where endtime > DATEADD(day,-30,getdate())

板凳

1楼老师
我按你的试验了,还是不行,我用了DateDiff 函数,也不行。

3 楼

1楼老师
我按你的试验了,还是不行,我用了DateDiff 函数,也不行。

我是这样做的,
select *  from users where   DateDiff(day,endtime,getdate()) < 30
还是不行

我来回复

您尚未登录,请登录后再回复。点此登录或注册