小问题,救急

supper3000 2003-11-18 01:47:32
我的数据库中有一个字段叫出生日期,我想通过一句查询语句把生日是本周之内的记录全查出来,怎么操作?
...全文
48 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
rexsp 2003-11-18
  • 打赏
  • 举报
回复
早说嘛,如果是Sql Server就简单多了。。。
zjg791015 2003-11-18
  • 打赏
  • 举报
回复
强烈关注中……
DeltaCat 2003-11-18
  • 打赏
  • 举报
回复
我的方法适用 SQL SERVER,在 ACCESS里没试过,你试一下
DeltaCat 2003-11-18
  • 打赏
  • 举报
回复
select * from table where datename(week,日期字段)=datename(week,getdate())
rexsp 2003-11-18
  • 打赏
  • 举报
回复
ThisDay=Date()
CurrentDayNum=WeekDay(ThisDay)
FirstDayNum=CurrentDayNum-2
EndDayNum=7-CurrentDayNum+1
FirstDay=Day(DateAdd("d",-FirstDayNum,ThisDay))
EndDay=Day(DateAdd("d",EndDayNum,ThisDay))
NowMonth=Month(Date())
NowDay=Day(Date())
Sql="Select * From User Where Month(BirthDay)="&NowMonth&" And ( Day(BirthDay) Between "&FirstDay&" And "&EndDay&")"
rexsp 2003-11-18
  • 打赏
  • 举报
回复
我明白了。。
等会,我再改一下。。
supper3000 2003-11-18
  • 打赏
  • 举报
回复
可你别忘了加入现在是firstday=2003-11-17,endday=2003-11-24
那么年份是2001-11-20,1987-11-19,这样改过生日的人就找不出来了
rexsp 2003-11-18
  • 打赏
  • 举报
回复
然后你将FisrtDay 和EndDay 传到数据库语句里不就完了。比如:
Select * From User Where Birthdy Between FirstDay and EndDay

不就完了吗??

rexsp 2003-11-18
  • 打赏
  • 举报
回复
那 ThisDay=Date()就是取当前的日期,我的写法没有错啊???

supper3000 2003-11-18
  • 打赏
  • 举报
回复
本周就是现在now,用现在做参照物看看库里有谁过生日?
rexsp 2003-11-18
  • 打赏
  • 举报
回复
“本周之内”是什么意思?你这个“本”是从哪里“本”出来的?你总有个参照物吧??然后只是按照条件搜索生日数据库。。。不要搞错方向。。
supper3000 2003-11-18
  • 打赏
  • 举报
回复
问题是数据库中生日的年份每个都不一样,我怎么初始化,年分布唯一
rexsp 2003-11-18
  • 打赏
  • 举报
回复
1985-9-2 1985-9-8
这 是起止时间
rexsp 2003-11-18
  • 打赏
  • 举报
回复
那你不会初始化ThisDay="1985-9-3"
啊??

脑袋怎么不转。
supper3000 2003-11-18
  • 打赏
  • 举报
回复
关键是数据库重的日期是1956-9-3这种形式,怎么与FirstDay,EndDay
做比较,主要看月份与日子呀
rexsp 2003-11-18
  • 打赏
  • 举报
回复
ThisDay=Date()

CurrentDayNum=WeekDay(ThisDay)
FirstDayNum=CurrentDayNum-2
EndDayNum=7-CurrentDayNum+1
FirstDay=DateAdd("d",-FirstDayNum,ThisDay)
EndDay=DateAdd("d",EndDayNum,ThisDay)
response.write FirstDay
response.write EndDay
rexsp 2003-11-18
  • 打赏
  • 举报
回复
错,3代表星期二
yangsm 2003-11-18
  • 打赏
  • 举报
回复
datediff('d',zddata,now())<7
rexsp 2003-11-18
  • 打赏
  • 举报
回复
给你一个思路,首先用WeekDay取得代表一星期中某天的整数,然后就可以根据这个整数来得出起始时间了,比如3代表星期四,那么起止时间就是向前推到0,向后推到7,嘿嘿。明白??然后就是between and了。。。

28,391

社区成员

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

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