zoukankan      html  css  js  c++  java
  • Oracle中的单行函数

    字符串函数:

    注意SUBSTR 如果向要从后向前截取,可以使用负数来表示

    例如:SUBSTR('helloword',-3),表示截取最后三个字符,不写长度.默认从开始截取到字符串的末尾.

    以上函数除了INITCAP以外都可以在mysql中使用

    程序中的字符串,下标从0开始,数据库中的下标从1开始,Oracle中,如果下标写0.则按照1处理,在mysql中,不会返回任何结果

    数学函数

    注意,ROUND,和TRUNC函数都可以是用以下格式ROUND(889.99,-2) 这样中格式,小数位数可以是负数,当小数位数是负数时,例子中的结果是900

    在mysql中没有TRUNC函数,有功能相同的TRUNCATE函数,用法也和Oracle中的TRUNC函数相同.

    时间函数

    在日期中有如下三个操作:

      日期+数字=日期(表示若干天之后的天数)

      日期-数字=日期(表示若干天前的天数)

      日期-日期=天数(表示两个日期相差多少天)

    但是这种计算的结果不精确,在oracle中不精确,在mysql中结果会是一种错误的结果

    所以给出以下日期函数

    使用日期函数进行日期的计算会很精确,但是以上的函数在mysql中只有LAST_DAY可以使用

     转换函数

    以上函数在mysql中不存在,只有Oracle中有

    例如我想要将现在的时间转换成字符串

    SELECT TO_CHAR(SYSDATE,'yyyy-mm-dd') FROM dual;

    我们也可以从日期中获取年.月,日

    SELECT TO_CHAR(SYSDATE,'yyyy') from dual;

     还可以用来格式化数字

    SELECT TO_CHAR(5635192189372198731,'999,999,999,999,999,999,999,999,999') FROM dual;

    数字9.是任意数字的标记,在格式化数字或者货币的时候,定义的格式的字符串中,标记的位数必须大于需要转换的数据的位数

    货币的转换

    本地货币的标记是L,任意数字的标记是9

    通用函数

    NAL函数

    如果我们要查询员工表中,员工的编号,员工的姓名,员工的年薪(  年薪=(月薪+绩效)*12  )

    但是有些员工没有绩效,这样的话,最后返回的结果,没有绩效的员工就没有年薪

    命令:select empno,ename,(sal+comm)*12 INCOME from emp;

    这时候我们就可以使用NVL函数

    命令select empno,ename,(sal+NVL(comm,0))*12 INCOME from emp;

    DECODE函数,这个函数比较重要,面试的时候可能会被问到

    完整的员工信息如下:

    如果我们想要查询员工编号,员工姓名,员工的job,但是员工的job名称却是英文,我们看着不太好看,想要将其显示为中文

    命令: Select empno,ename,job,DECODE(job,'CLERK','办事人员','SALESMAN','销售人员','MANAGER','经理','--') 职位 From emp ;

  • 相关阅读:
    13. Docker容器内不能联网的6种解决方案
    12. Docker修改默认存储位置
    11. Docker为容器分配指定物理IP地址
    10.修改sysctl.conf提示没权限
    9. 使用ssh登陆Docker
    8. Docker
    7. Docker
    6. Docker
    Python生成器&迭代器
    Python装饰器
  • 原文地址:https://www.cnblogs.com/zqr99/p/7664316.html
Copyright © 2011-2022 走看看