oracle 日期格式

来源:互联网 发布:淘宝太坑图片 编辑:程序博客网 时间:2024/06/14 22:53

set time on;  显示时间 

set timing on; 显示执行时间

set sqlprompt"_date>"  显示日期和时间

alter session SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';  修改当前会话日期格式

SQL> set time on;
09:23:06 SQL> select sysdate from dual;

SYSDATE                                                                                                                                                       
--------------                                                                                                                                                
10-7月 -14                                                                                                                                                                                                                                                                                                  

09:23:14 SQL> set time off;
SQL> select sysdate from dual;

SYSDATE                                                                                                                                                       
--------------                                                                                                                                                
10-7月 -14                                                                                                                                                    


SQL> set timing on;
SQL> select * from emp;
     EMPNO ENAME      JOB              MGR HIREDATE              SAL       COMM     DEPTNO                                                                                                                                                                                                                  
---------- ---------- --------- ---------- -------------- ---------- ---------- ----------                                                                                                                                                                                                                  
      7369 SMITH      CLERK           7902 17-12月-80           2300                    20                                                                    

已用时间:  00: 00: 00.01


SQL> set sqlprompt"_date>"
10-7月 -14>select sysdate from dual;


SYSDATE                                                                                                                                                       
--------------                                                                                                                                                                                                                                                                                              
10-7月 -14                                                                                                                                                                                                                                                                                                  
已用时间:  00: 00: 00.00



10-7月 -14>alter session SET NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';

会话已更改。

已用时间:  00: 00: 00.00


2014-07-10 09:26:23>select sysdate from dual;


SYSDATE                                                                                                                                                       
-------------------                                                                                                                                                                                                                                                                                         
2014-07-10 09:26:43                                                                                                                                           
已用时间:  00: 00: 00.00





显示日期和第该天是第几周:
SQL>  select to_char(sysdate + level - 1, 'yyyy-mm-dd') dt,
to_char(sysdate + level - 1, 'iw') weeks from dual connect by level <= 15;
DT         WE
---------- --
2014-01-03 01
2014-01-04 01
2014-01-05 01
2014-01-06 02
2014-01-07 02
2014-01-08 02
2014-01-09 02
2014-01-10 02
2014-01-11 02
2014-01-12 02
2014-01-13 03
2014-01-14 03
2014-01-15 03
2014-01-16 03
2014-01-17 03
15 rows selected.


显示工作周一到周五日期和第该天是第几周:

SQL>  select to_char(sysdate + level - 1, 'yyyy-mm-dd') dt,
to_char(sysdate + level - 1, 'day') day,
to_char(sysdate + level - 1, 'iw') weeks from dual where to_char(sysdate + level - 1, 
'd') not in (7,1) connect by level <= 15;
DT         DAY       WE
---------- --------- --
2014-01-03 星期五    01
2014-01-06 星期一    02
2014-01-07 星期二    02
2014-01-08 星期三    02
2014-01-09 星期四    02
2014-01-10 星期五    02
2014-01-13 星期一    03
2014-01-14 星期二    03
2014-01-15 星期三    03
2014-01-16 星期四    03
2014-01-17 星期五    03
11 rows selected.


来个全年的: 大笑

select to_char(sysdate+level,'yyyymmdd'),to_char(sysdate+level,'iw') from dual
connect by level <= (select to_date(to_char(sysdate,'yyyy')||'1231','yyyymmdd')-to_date(to_char(
sysdate,'yyyy')||'0101','yyyymmdd')+1 from dual);

0 0