oracle sql拼写紧急求救,在线等,恳请高手指点

来源:百度知道 编辑:UC知道 时间:2024/04/28 14:33:50
用户表,user_id,user_name,create_date,user_state,要求拼写slq查询出某段时间(一般为一个月)内,每周注册为会员(user_state值为1)的用户数量。传入参数为某段时间,我不知道怎么用sql来判断这段时间有几个星期,要根据有几个星期来返回几个查询值,恳请高手指点
就是1楼所说的意思,先谢谢你了

怎么才叫一个星期啊?
譬如1号是星期3,这算这个月的星期吗?

---------------------这有个存储过程,可以参考----------------
PROCEDURE getWeekly( p_date IN DATE, -- 月份所在日期
p_number IN NUMBER, -- 第几周
p_startDATE OUT DATE , --该周开始日期
p_endDATE OUT DATE ) --该周结束日期
AS
v_lastDay DATE;
v_firstDay DATE;
BEGIN
v_lastDay := LAST_DAY(p_date);
v_firstDay := ADD_MONTHS(v_lastDay, -1) + 1;
p_startDate := ROUND(v_firstDay + 7*(p_number-1)-1, 'DAY');
p_endDate := p_startDate + 6;
END getWeekly;
--------------------------下边是一些日期函数------------------
select to_char(sysdate,'dy') from dual;---看当天是星期几
select to_char(sysdate,'W') from dual;---查看当月的第几周

拿今天是3月4号说
select to_char(sysdate+26,'W') from dual;---表示这个月最后一天属于第几周,得出来结果是5,你是这个意思吧?

select to_number(trunc(sysdate+18, 'dd')-trunc(sysdate+10, 'dd'))/7 from dual;