分类目录归档:oracle

oracle数据库中时间转化方法分享


摘要:
下文讲述oracle数据库中时间转化方法分享,如下所示:


一、toChar

1、取得当前日期是本月的第几周

 select to_char(sysdate,'W') from dual; 
 select to_char(sysdate,'yyyy') from dual; --年 
select to_char(sysdate,'Q' from dual; --季 
select to_char(sysdate,'mm') from dual; --月 
select to_char(sysdate,'dd') from dual; --日 
 --ddd 年中的第几天 
 --WW 年中的第几个星期 
 --W 该月中第几个星期 
 --D 周中的星期几 
 --hh 小时(12)  
 --hh24 小时(24) 
 --Mi 分 
 --ss 秒


二、toDate

TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 显示值:07
yyy three digits 三位年 显示值:007
yyyy four digits 四位年 显示值:2007
Month:
mm number 两位月 显示值:11
mon abbreviated 字符集表示 显示值:11月,若是英文版,显示nov
month spelled out 字符集表示 显示值:11月,若是英文版,显示november
Day:
dd number 当月第几天 显示值:02
ddd number 当年第几天 显示值:02
dy abbreviated 当周第几天简写 显示值:星期五,若是英文版,显示fri
day spelled out 当周第几天全写 显示值:星期五,若是英文版,显示friday
Hour:
hh two digits 12小时进制 显示值:01
hh24 two digits 24小时进制 显示值:13
Minute:
mi two digits 60进制 显示值:45
Second:
ss two digits 60进制 显示值:25
其它
Q digit 季度 显示值:4
WW digit 当年第几周 显示值:44
W digit 当月第几周 显示值:1
24小时格式下时间范围为: 0:00:00 – 23:59:59….
12小时格式下时间范围为: 1:00:00 – 12:59:59 ….

select to_date('2004-05-07 13:23:44','yyyy-mm-dd hh24:mi:ss')    from dual//

Oracle优化查询效率的方法


摘要:
Oracle查询优化中,很重要的一点就是对检索的字段设置为索引达到提高查询效率的方法,如下所示:

例:
为数据表的相应字段设置相应的索引

   CREATE INDEX
    IDEN_IDNUMBER-->索引名称
ON
    SIDENTITY-->表名
    (
        IDNUMBER-->字段名
    );

Oracle数据库dual表简介说明


摘要:
下文讲述oracle数据库中,我们常见的dual表的简介说明,如下所示:


dual表简介

dual在oracle数据库是一个虚拟表,常用于select一些语法测试。
例:
1.获取当前用户信息

    select user from dual;
   

2.测试一些系统函数

      --测试获取系统时间sysdate和使用tochar
     select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;  
     
     --获得主机名
   select SYS_CONTEXT('USERENV','TERMINAL') from dual;

      --获得当前数据库的语言信息
    select SYS_CONTEXT('USERENV','language') from dual;

    --测试随机数函数,随机数
     select dbms_random.random from dual; 
   

3. 获取序列的下一个值或当前值

    --获得序列your_sequence的下一个值
  select your_sequence.nextval from dual;
    
    --获得序列your_sequence的当前值
  select your_sequence.currval from dual;
   

  4、进行相应的数学运算

 
   select 7*9 as result from dual;