• orcal常用函数



    SELECT TO_CHAR(sysdate,'YYYY"年"MM"月"fmDD"日" HH24:MI:SS')FROM dual;--月份前带0,获得当前系统时间
    SELECT TO_CHAR(sysdate,'YYYY"年"fmMM"月"fmDD"日" HH24:MI:SS')FROM dual;--月份前不带0,获得当前系统时间

     SELECT ename,sal+NVL(comm,0) sal1 FROM emp;--在新表中出现二列,1.enamel。2.sal1.(相当于把sal+NVL(comm,0)重命名为 sal1)。NVL(comm,0) 函数相当于if语句,if(common==null){sal=sal+0}

    SELECT ename,sal+NVL(comm,0) sal1,NVL2(comm,sal+comm,sal) sal2 FROM emp;--NVL2(comm,sal+comm,sal) 相当于if(){}else{}语句。if(comm==null){sal=sal+0}lelse{sal=sal+comm}

    SELECT ename, sal+NVL(comm,0) sal1,
    NVL2(comm,sal+comm,sal) sal2,
    DECODE(to_char(hiredate,'MM'),'
    01','一月', '02','二月',
    '03','三月','04','四月',
    '05','五月','06','六月',
    '下半年') mon
    FROM emp;--选取雇佣时间的日期类型月份改为字符类型的月份,并重命名为mon

    SELECT *
    FROM
    (SELECT emp.* ,
    DENSE_RANK( ) OVER (PARTITION BY deptno ORDER BY sal DESC) DENSE_RANK
    FROM emp) e
    WHERE DENSE_RANK=2;--查询所有的信息,先分组,再排序,添加一列DENSE_RANK,DENSE_RANK若有重复,4 4  5,再取DENSE_RANK=2的列

    --注:partition by 相当于group by 

    SELECT * FROM
    (SELECT emp.* ,rank() OVER (PARTITION BY deptno ORDER BY sal DESC) r_rank
    FROM emp) e WHERE r_rank=2;--查询所有的信息,先分组,再排序,添加一列 r_rank,DENSE_RANK若有重复,4 4  6,再取 r_rank=2的列

    --注: r_rank不加双引号

    SELECT ename "姓名",to_char(ROUND(hiredate,'yyyy'),'YYYY')||'年度'  "入职年度" FROM emp;--\为连接符,

    SELECT distinct deptno FROM emp;--distinct是唯一的,取所有与的部门编号

    SELECT ename,sal from emp
    WHERE sal>(SELECT sal FROM emp WHERE upper(ename)='SMITH');--列出薪金比"SMITH"多的所有雇员

    SELECT job AS 工作 , MIN(sal) AS 最低薪金
    FROM emp
    GROUP BY job
    HAVING MIN(sal) >1500;--列出各种工作类别的最低薪金,显示最低薪金大于1500的记录


    SELECT ename AS 雇员姓名,dname AS 部门名称
    FROM dept,emp
    WHERE dept.deptno=emp.deptno
    AND upper(emp.job)='CLERK';--列出所有“CLERK”(办事员)的姓名及其部门名称,upper把工作名转化为大写

    SELECT *
    FROM emp
    WHERE hiredate=last_day(hiredate);--找出各月最后一天受雇的所有雇员

    CREATE TABLESPACE tp_hrDATAFILE  'd:data p_hr01.dbf' SIZE 60M;--创建表空间示例

    SELECT file_name,tablespace_name,bytes,autoextensible FROM dba_data_files
    WHERE tablespace_name='TP_HR';--查看表空间

    ALTER DATABASE DATAFILE  'f: p_hr01.dbf' RESIZE 20M;--更改数据文件的大小

    ALTER TABLESPACE tp_hr ADD DATAFILE  'f: p_hr01.dbf' SIZE 20M autoextend on;--向表空间内添加数据文件

    DROP TABLESPACE tp_hr;-- 删除tp_hr表空间

    DROP TABLESPACE tp_hr INCLUDING CONTENTS;-- 删除tp_hr表空间,包含内容

    insert into emp values(8002,'ton','lCLERK',6000,to_date('1960/2/2','yyyy/mm/dd'),5000,null,20)--插入数据

  • 相关阅读:
    VMware VSAN 设计规则
    通过命令行给 XenServer 打补丁
    XenServer 根分区空间满的解决办法
    sftp命令不被识别
    windows cmd窗口提示“telnet”命令不能内部或外部命令,也不是可运行的程序
    Eclipse安装ModelGoon控件(ModelGoon控件反向生成UML)
    WINDOWS8.1安装ORACLE客户端及配置
    CentOs下安装maven
    centos下安装java8
    mono支持gb2312
  • 原文地址:https://www.cnblogs.com/jimorulang/p/5509750.html
Copyright © 2020-2023  润新知