关于一SQL 2000存储过程问题,请高手门帮忙解决?

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:59:51
问题: 首先在SQL2000里有两张表 一个是user表,有userId int 用户编号 ,payDate DateTime 用户注册日期,userName varchar(20) 用户名,三个字段,另一个表是userLogin表,有userId int 对应user表中的userId,YY-MM varchar(10) 用户保存用户登录的年月,day1 int,day2……day31 这31个字段是保存用户哪天登录后的记载 0表示未登录,1表示登录过。
我现在想用一个存储过程按开始日期和结束日期查出,在这个时间范围内,所有注册用户从注册那天起的一周内登录超过2次的用户?

注意:要考虑到查询的开始和结束日期是否是同一年,是否是润年
还要考虑到当前年份的每个月的天数
还要考虑到,假设我现在是查2月25号,如果本月是28天,那么取 一周的时间就应该是2月25号到3月4号才是一个星期(也就是跨月)
小弟,我想了很久没有很好的解决方案,请大侠们帮忙!

万分感谢!

你的这个问题在SQL里是不好弄的,但是程序里是很好弄的,在程序中,按照一个时间是可以获取这天是星期几,(ctime类型有现成的函数可用,而且不用你去考虑什么大小月,闰年问题)
你为什么不在程序中按输入时间算好一周的范围,再组织好语句去查询呢

....按开始日期和结束日期查出.....
看了你的描述,感觉你只需要一个截止日期就可以了
....从注册那天起的一周内....
不是很明白你这个到底是什么意思。