如何取截至到今天为止的前一个月内的日期记录?

pcbaby 2003-12-26 12:29:53
今天是26号,比如我想取从上月26号到今天26号这段期间的记录,SQL该怎么写?数据库里已经有了一个日期型的字段了,也有值。
...全文
163 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
select * from table where datediff("m","2003-11-26","2003-12-26")=1

这个就对了,上边那个错了。不好意思。
pcbaby 2003-12-26
  • 打赏
  • 举报
回复
那个上月的这号不是固定的啊,我想每过一天系统能自动查找这一个月内的记录。
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
用datediff("n",2003-12-26,2003-11-26)=1
select * from table where datediff("n",Now,2003-11-26)=1
试试
pcbaby 2003-12-26
  • 打赏
  • 举报
回复
TO:sxsgssgs(小尚)
你的语句应该是对的,但是好像没有写明用哪个字段进行日期计算?现在一执行到这里还是出错?
DwNet 2003-12-26
  • 打赏
  • 举报
回复
在sqlserver中测试通过:

SELECT * FROM 表 WHERE cast(日期字段 as datetime) BETWEEN cast('2003-11-26' as datetime) AND cast('2003-12-26' as datetime)
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
在asp写入上边那两句,一定没问题的。我已经测试过了。
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
哦,如果是这样的话,用下边的语句:

 oldrq=dateadd("d",-30,now)
select * from table where datediff("m",oldrq,now)=1
xlou 2003-12-26
  • 打赏
  • 举报
回复
先取得当前日期

再在当前日期上-1 得到前界日期

然后用recordset对象的 filter 来进行判断

大概代码如下
date1=date()
date2=date1-1
rs.filter ="date2<riqi<date1"
我没有测试 大概思路就是这样的 你可以自己调试!!
pcbaby 2003-12-26
  • 打赏
  • 举报
回复
不对吧?那句出错。
pcbaby 2003-12-26
  • 打赏
  • 举报
回复
可以自动减去30天计算,把在这个范围内的日期找出来。
sxsgssgs 2003-12-26
  • 打赏
  • 举报
回复
你这种想法有问题。

 有的一个月是31天,有的是30天,有的是29天,有的是28天,如果安你上边的那样统计恐怕 不行的。

 你只能规定天数统计,比如:我就把一个当成30天,这样统计还差不多。

28,407

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧