• Oracle / PLSQL函数


    最近在学习数据库方面的知识,做个标记。
    这里有英文解释,建议多看看英文文档:
    
    https://www.techonthenet.com/oracle/functions/

    下面开始记录一下,自己在Oracle或者PLSQL常用的几个函数,

    1、NUMTODSINTERVAL( number, expression )
    参数说明:
    number:数字类型的值
    expression:单位,这里的单位是固定的,有DAY,HOUR,MINUTE,SECOND
    举例说明:
    -- 当前日期加25天
    select sysdate, sysdate + numtodsinterval(25, 'day') as res from dual;
    
    -- 当前日期加2小时,这里转换了下时间格式,更容易看出来,下图所示
    select to_char(sysdate, 'yyyy-MM-dd hh24:mi:ss'), to_char(sysdate + numtodsinterval(2, 'hour'), 'yyyy-MM-dd hh24:mi:ss') as res from dual;
    
    -- 当前日期加分钟,秒,可以依葫芦画瓢,尝试写一下
    

    显示效果如下图所示:

     

    与此同时,和他相同的函数是下面的函数

    2、NUMTOYMINTERVAL( number, expression )
    参数说明:
    number:数字类型的值
    expression:单位,这里的单位是固定的,有MONTH,YEAR
    举例说明:
    -- 当前日期加2月
    select sysdate, sysdate + numtoyminterval(2, 'month') as res from dual;
    
    -- 当前日期加2年
    select sysdate, sysdate + numtoyminterval(2, 'year') as res from dual;
    

     显示效果如下图所示:

    3、DECODE( expression , search , result [, search , result]... [, default] )
    参数说明: 
    expression : 表中的某一列
    search : 替换前的值,表中的枚举类型值(数据)
    result : 替换后的值,展示数
    举例说明:
    -- 下表中,我有一个字段,字段的值有0,1
    SELECT STATE FROM tableName;
    

    -- 那么,我现在不想展示0,1,而是想展示“是”,“否”字段(0:否,1:是),可以使用这个函数DECODE
    SELECT DECODE(STATE, 0, '否', 1, '是') AS STATE FROM tableName;
    

     

    -- 如果有多个对应值,那么就在后面累积增加,例如
    SELECT DECODE(CLASS, 1, '一年级', 2, '二年级', 3, '三年级', 4, '四年级', ... , n, 'n年级') AS CLASS FROM tableName;
    

    您的资助是我最大的动力!
    金额随意,欢迎来赏!

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
    如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我

    如果,想给予我更多的鼓励,求打

    欢迎大家关注我的个人博客 Lycos | 小站 !由于最近没时间处理,原域名http://www.liuyuchuan.com暂时停止使用

  • 相关阅读:
    java.lang.OutOfMemoryError: Java heap space解决方法
    深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接
    CSS中.和#区别
    斯坦福数据挖掘之LSH的应用
    N个元素的集合划分成互斥的两个子集的数目
    JDBC小结
    初识Java反射机制
    关于Java中重载的若干问题
    吐槽
    Tomcat
  • 原文地址:https://www.cnblogs.com/yuchuan/p/oracle_NUMTODSINTERVAL.html
Copyright © 2020-2023  润新知