请问这条SQL 语句对吗?如果不对要怎么写?

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:05:03
Strscl="select id,title,sd,od from [news] where datediff(""d"",sd,"&now()&")>=0 order by ID desc"

字段说明---
sd:新闻开始时间
od:新闻过期时间

小弟想做个新闻定时显示系统,
需要从数据库里面读取某个时间段内的新闻

sd表里有个新闻开始时间
比如 比如该字段内容为“2009-3-1 00:00:00” 如果今天还没到09年3月1号,那么这条新闻就不读取,如果已经过了09年3月1号那么就需要读取。

还有个od表,里有个新闻过期时间,过期的新闻也不要读取。
比如字段内容为“2009-3-25 00:00:00” 那么超过这个时间就不需要读取了,没超过的需要读取。

请问这样的SQL语句该怎么写?问题描述的有点绕口 呵呵。

小弟分不多,问题解决后一定再追加50分,感谢!
不好意思更正一下,sd和od不是表,他们是news表内的字段。
====================================================
还一个过期时间,过期时间是存放在od字段里面的

Strscl="select id,title,sd,od from [news] where datediff(day,sd,'"&now()&"')>=0 and datediff(day,od,'"&now()&"')<0 order by state desc,ID desc"

如果到期不包括当天日期就用datediff(day,od,'"&now()&"')<0
如果包括就用datediff(day,od,'"&now()&"')<=0

Strscl="select id,title,sd,od from [news] where datediff("d",sd,now())>=0 order by ID desc"

过期时间是多少,是一个星期,还是一个月?

测试通过

Strscl="select id,title,sd,od from [news] where datediff('d',sd,'"&now()&"')>=0 order by ID desc"

Strscl="select id,title,sd,od from [news] where datediff(""d"",sd,"&now()&")>=0 and datediff(""d"",od,"&now()&")<=0 order by ID desc"