• Oracle数据库的函数



    总结:1.-- 逐值替换;把表中的数据替换成想要的字符
    select ename,decode(deptno,10,'开发部',20,'测试部',30,'维护部') from emp;
    -- 计算年龄或者年份差;获取系统年:extract(year from sysdate);得到表里的年:extract(year from hiredate)
    select ename,extract(year from sysdate)-extract(year from hiredate) as 工龄 from emp
    -- 转换函数;按照什么格式转成字符串;
    Select TO_CHAR(0.123,'$0.9999') FROM DUAL;--结果是 $0.1230;就是把0.123按照'$0.9999'转换
    -- 把字符串转成日期类型
    select to_date('2019-11-11','yyyy-MM-dd') from dual
    -- 空值转换函数;对可能存在的空字符串用nvl进行转换,val(comm,0)把空转成0
    select ename,(sal+nvl(comm,0))as 工资总和 from emp
    -- 值转化,如果comm不是空就是10是空则为0
    select ename,(sal+nvl2(comm,10,0))as 工资总和 from emp
    --NULLIF()如果两值不一样就是小的值,如果一样就是空
    SELECT NULLIF(100,200) FROM DUAL
    --分析函数;返回连续的排位,不论值是否相等
    select ename,sal,row_number() over(order by sal asc) as 排名 from emp
    -- 具有相等值的行排位相同,序数随后跳跃
    select ename,sal,rank() over(order by sal asc) as 排名 from emp
    -- 具有相等值的行排位相同,序号是连续的
    select ename,sal,dense_rank() over(order by sal asc) as 排名 from emp

    --授权;创建同义词的权利
    grant create synonym to hankai
    --授予可以查询删除修改scott.emp的权限
    grant select,update,delete on scott.emp to hankai
    --创建私有同义词;那个账号创建那个账户用,别的账号不能用 ;(普通账号创建)
    create synonym e for scott.emp;-- 给scott.emp起别名 e;用synonym关键字
    select * from e
    -- 管理员创建的同义词加上public就是公有同义词
    -- 创建公有同义词(管理员账号创建)
    create public synonym a for scott.emp

  • 相关阅读:
    jvm 优化
    SqlServer体系结构
    sqlserver2012 在视图中建索引
    win10 桌面设置为远程桌面
    ORACLE 查询某表中的某个字段的类型,是否为空,是否有默认值等
    activemq读取剩余消息队列中消息的数量
    Oracl 一条sql语句 批量添加、修改数据
    ClickOnce一项Winform部署
    C#语言中的修饰符
    关于MySQL集群的一些看法
  • 原文地址:https://www.cnblogs.com/hankai2735/p/11702829.html
Copyright © 2020-2023  润新知