比如说,我选了年、月,然后选这个月的第2周,怎么得到这个月的第2周,是哪天至哪天呢?
解决方案 »
- 帮忙找一下问题。
- 索引影响查询效率的问题
- 为什么从表中取出来的值(float)在表中找不到与它相等的值?(表中类型为number)
- 如何删除DBF文件?
- ORACLE9I在LINUX rethat 下怎么安装??
- oracle9i 安装中的问题
- oracle安装时总是报没有主机IP地址?单机能装oracle吗?
- 为什么独立方式启动创建的数据库,在登录到OMS后,为什么没有这个数据库呢???
- oralce update clob
- win8系统安装oracle11出(64位)后 创建数据库遇到的问题
- 怎么将SQL SERVER中的数据导入到ORACLE中去
- 写一条sql语句,看起来简单,实现起来感觉很难的
select next_day(trunc(sysdate,'mm'),'星期一'),next_day(next_day(trunc(sysdate,'mm'),'星期一'),'星期日') from dual
SELECT *
FROM (SELECT (SYSDATE - TO_CHAR(SYSDATE, 'dd') + ROWNUM) DATETIME
FROM DUAL
CONNECT BY ROWNUM <= 31) TMP
WHERE TO_CHAR(TMP.DATETIME, 'W') = 1;
SELECT *
FROM (SELECT (SYSDATE - TO_CHAR(SYSDATE, 'dd') + ROWNUM) DATETIME
FROM DUAL
CONNECT BY ROWNUM <= 31) TMP
WHERE TO_CHAR(TMP.DATETIME, 'W') = 2;
FROM (SELECT (SYSDATE - TO_CHAR(SYSDATE, 'dd') + ROWNUM) DATETIME
FROM DUAL
CONNECT BY ROWNUM <= 31) TMP
WHERE TO_CHAR(TMP.DATETIME, 'W') = 2;第三周:SELECT *
FROM (SELECT (SYSDATE - TO_CHAR(SYSDATE, 'dd') + ROWNUM) DATETIME
FROM DUAL
CONNECT BY ROWNUM <= 31) TMP
WHERE TO_CHAR(TMP.DATETIME, 'W') = 3;
(
inputYear in varchar2,
inputMonth in varchar2,
beginDate out date ,
endDate out date
)
is
tempDate varchar2(10);
inputDate varchar2(50);
begin
tempDate :='01';
inputDate :=inputYear ||'-'||inputMonth||'-'||tempDate;
select next_day(next_day(to_date(inputDate,'yyyy-mm-dd'),'星期一'),'星期一') into beginDate from dual;
select next_day(next_day(next_day(to_date(inputDate,'yyyy-mm-dd'),'星期一'),'星期日'),'星期日') into endDate from dual;
dbms_output.put_line('第二周开始' || ' ' ||'结束日期');
dbms_output.put_line(beginDate || ' ' || endDate);
end;