• Oracle笔记二


    在我们安装了Oracle之后,SYS用户就会存在一个DUAL表,它只有一个字段,一条记录,如下所示:
    SQL>select * from dual;
    D——完整列名为DUMMY
    -
    X
    当我们执行语句select count(*) from dual;时,得到的结果为1,这也就证实了DUAL表中只有一行一列。
    我们可以向这个表中插入、修改、删除记录,但在这些操作之后,如果记录数不为1,可能会引起很多地方查询错误,建议不要修改。
    了解了这些,我们再来看一下DUAL表的使用:
    NO1.
    SQL>   select   to_char(sysdate,'YYYYMMDD   W   HH24:MI:SS')   from   dual;
    'ss'——取当前时间秒部分
    'mi'——取当前时间分钟部分
    'hh24'——取当前时间秒小时部分
    'dd'——取当前时间日期部分
    'mm'——取当前时间月部分
    'yyyy'——取当前时间年部分
    'w'——取当前时间是一个月中的第几周(从1日开始算)
    'ww'——取当前时间是一年中的第几周(从1.1开始算)
    'iw'——取当前时间是一年中的第几周(按实际日历的)
    'day'——取当前日是星期几,和数据库设置的字符集有关,如果安装时字符集是ZH~,会输出星期六,若是英文,则输出Saturday
    'd'——当前日是一周中的第几天,1表示星期天,7表示星期六
    'ddd'——当前日是一年中的第几天 
    如果查询语句如select sysdate from dual;结果为25-7月 -09
    NO2.
    trunc,也就是truncate函数,同其英文单词意思一样,是截断的意思(不会四舍五入),如下两个数字例子:
    select trunc(1234.567),trunc(1234.567,2),trunc(1234.567,-2) from dual;
    1234      1234.56      1200
    从结果中可看到,如果不给予截断长度,默认是取整,如果是正整数,则从最后一位小数开始取位数截断,如果是负整数,则从小数点前开始截断。
    对于时间来说,截断情况如下所示(测试时间为2009-7-25):
    select trunc(sysdate,'mm') from dual;结果显示:01-7月 -09
    select trunc(sysdate,'mm')+1 from dual;结果显示:02-7月 -09
    select trunc(add_months(sysdate,1),'mm') - 1 from dual;结果显示:31-7月 -09
    trunc函数内若只有一个参数,那该函数以天为单位。
    得到一年的每一天:select trunc(sysdate,'yyyy')+ rn -1 date0 from (select rownum rn from all_objects where rownum<366);
    返回某个月的最后一天:select to_char(last_day(sysdate),'dd') from dual;
    判断某一日子所在年分是否为润年:select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;
    判断两年后是否为润年:select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;

    得到日期的季度:select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;或者select to_char(sysdate, 'Q') from dual;






     

  • 相关阅读:
    设计模式-----简单工厂模式
    LeetCode题解002:两数相加
    LeetCode题解001:两数之和
    异常处理类-Throwable源码详解
    Windows下 gcc/g++的安装与配置
    Windows10下安装解压版MySQL教程
    Windows下Django项目搭建流程
    Linux域名服务DNS
    Linux文件共享服务 FTP,NFS 和 Samba
    操作系统:进程的概念和与程序的区别
  • 原文地址:https://www.cnblogs.com/emily_fly/p/1530987.html
Copyright © 2020-2023  润新知