小白问题.能不能写一段sql可以拿到上个星期的星期一和这个月的1号 不管今天是几月几号,写一段sql可以输出上个星期星期一的日期另外再写一个sql可以输出这个月的1号 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --1select next_day(sysdate,2)-7 from dual;或select next_day(sysdate,'星期一')-7 from dual;--2.select to_char(sysdate,'yyyy-mm')||'-01' from dual; 第二个好说,第一个的一周是怎么定义的?周一开始周日结束还是周日开始周6结束?SQL> select trunc(sysdate,'mm') from dual; TRUNC(SYSDATE,'MM')-------------------2010-9-1 SQL> select trunc(sysdate) "今天", next_day(trunc(sysdate), 2) - 14 "上个星期一",trunc(sysdate, 'mm') "本月1号"from dual;今天 上个星期一 本月1号 --------- --------- ---------21-SEP-10 13-SEP-10 01-SEP-10 --返回上个星期一SQL> select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual;输入 datetime 的值: 20100901原值 1: select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual新值 1: select next_day(to_date('20100901','yyyymmdd')-14,'星期一') from dualNEXT_DAY(TO_DA--------------23-8月 -10SQL> /输入 datetime 的值: 20100914原值 1: select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual新值 1: select next_day(to_date('20100914','yyyymmdd')-14,'星期一') from dualNEXT_DAY(TO_DA--------------06-9月 -10--这个月的1号SQL> select trunc(to_date('&datetime','yyyymmdd'),'month') from dual;输入 datetime 的值: 20100921原值 1: select trunc(to_date('&datetime','yyyymmdd'),'month') from dual新值 1: select trunc(to_date('20100921','yyyymmdd'),'month') from dualTRUNC(TO_DATE(--------------01-9月 -10SQL> /输入 datetime 的值: 20100803原值 1: select trunc(to_date('&datetime','yyyymmdd'),'month') from dual新值 1: select trunc(to_date('20100803','yyyymmdd'),'month') from dualTRUNC(TO_DATE(--------------01-8月 -10 1* select next_day(sysdate,'星期一')-14 from dualSQL> /NEXT_DAY(SYSDA--------------13-9月 -10SQL> select trunc(sysdate,'mm') from dual 2 /TRUNC(SYSDATE,--------------01-9月 -10 Oracle存储中将一个count返回值给变量负值负不上,在线求答 安装oracle10g时提示升级oracle9i的数据库 关于过滤系统用户和系统表 请教oracle 数据库 优化问题 在Oracle enterprise Manager console中看不到数据库 急~~~急~~~~ 学习数据库管理的问题 为何数据库老是意外关闭? char 和 varchar2 有什么区别? 关于物化视图的索引问题 高分求一个存储过程. 字符串缓冲区太小
select next_day(sysdate,2)-7 from dual;
或
select next_day(sysdate,'星期一')-7 from dual;--2.
select to_char(sysdate,'yyyy-mm')||'-01' from dual;
SQL> select trunc(sysdate,'mm') from dual;
TRUNC(SYSDATE,'MM')
-------------------
2010-9-1
SQL>
select trunc(sysdate) "今天",
next_day(trunc(sysdate), 2) - 14 "上个星期一",
trunc(sysdate, 'mm') "本月1号"
from dual;今天 上个星期一 本月1号
--------- --------- ---------
21-SEP-10 13-SEP-10 01-SEP-10
SQL> select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual;
输入 datetime 的值: 20100901
原值 1: select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual
新值 1: select next_day(to_date('20100901','yyyymmdd')-14,'星期一') from dualNEXT_DAY(TO_DA
--------------
23-8月 -10SQL> /
输入 datetime 的值: 20100914
原值 1: select next_day(to_date('&datetime','yyyymmdd')-14,'星期一') from dual
新值 1: select next_day(to_date('20100914','yyyymmdd')-14,'星期一') from dualNEXT_DAY(TO_DA
--------------
06-9月 -10
--这个月的1号
SQL> select trunc(to_date('&datetime','yyyymmdd'),'month') from dual;
输入 datetime 的值: 20100921
原值 1: select trunc(to_date('&datetime','yyyymmdd'),'month') from dual
新值 1: select trunc(to_date('20100921','yyyymmdd'),'month') from dualTRUNC(TO_DATE(
--------------
01-9月 -10SQL> /
输入 datetime 的值: 20100803
原值 1: select trunc(to_date('&datetime','yyyymmdd'),'month') from dual
新值 1: select trunc(to_date('20100803','yyyymmdd'),'month') from dualTRUNC(TO_DATE(
--------------
01-8月 -10
SQL> /NEXT_DAY(SYSDA
--------------
13-9月 -10SQL> select trunc(sysdate,'mm') from dual
2 /TRUNC(SYSDATE,
--------------
01-9月 -10