注册 登录
编程论坛 ASP技术论坛

支个招!关于数据库查询

mz520888 发布于 2006-08-14 22:20, 1613 次点击

我有个表 id name date

表里的内容每天都有新增,我想按date时间只输出显示当月21日到下月20日的记录!

怎么个代码写法?

13 回复
#2
hangxj2006-08-15 08:44
select * from 表 where day(date)>=21 and day(date)<=20 order by date

select * from 表 where day(date) between 20 and 21

试一下

还有就是
date最好不要用来做为字段,最好改成别的,因为date()为时间函数
#3
弯曲的直线2006-08-15 11:35
吼吼,我也试试,以前一直用datediff
#4
hangxj2006-08-15 12:52
datediff 一般用在查询与现在相差多少天的记录.
#5
koka20092006-08-15 15:02
Select * from tb where tb_date between cdate(year(now())-month(now())-21) and cdate(year(now())-(month(now())+1)-20)
原理就是用betwenn and 然后就是用时间函数格式化时间。具体怎么整,网上查查吧,我也记不清了。
#6
bluemoonte2006-08-15 16:44
Select * from tb where tb_date between cdate(year(now())-month(now())-21) and cdate(year(now())-(month(now())+1)-20)
原理就是用betwenn and 然后就是用时间函数格式化时间。具体怎么整,网上查查吧,我也记不清了。

不行啊  ,计算出来不正确。思路是正确的,但是需要修改啊
#7
bluemoonte2006-08-15 16:45
楼主用的是什么数据库啊,要是用的是mssql的话用触发器高定比较方便啊。用程序的话比较容易出错
#8
zhoujianwei2006-08-15 21:40
顶下
#9
mz5208882006-08-15 23:21
我用的数据库是ACCESS的

2楼的不能界定月份,不过我要求每月都要显示当前月的21号到下月20之间的数据
我不会每个月都要修改界定日期吧,不行!

5楼的功能上最好!但是不能实现!那位能帮帮再改进下!非常感谢!
#10
mz5208882006-08-16 22:28
没有人回答了吗?!

薰哥人呢?!
#11
mz5208882006-08-17 22:43
强烈建议坛主把楼上的biznet2004列入黑名单!

在这里卖广告!

鄙视你!
#12
wangjackok2006-08-18 16:59
Select * from tb where tb_date between cdate(year(now())-month(now())-21) and cdate(year(now())-(month(now())+1)-20)
原理就是用betwenn and 然后就是用时间函数格式化时间。具体怎么整,网上查查吧,我也记不清了。
不行啊  。思路是正确的,但是需要修改啊
#13
mz5208882006-08-18 21:55
这个问题还是无法解决!
#14
zhou2008-03-30 17:02
提示: 作者被禁止或删除 内容自动屏蔽,只有管理员可见
1