• 原创Oracle 函数大全(持续更新)


    最近在学习的时候频繁的用到oracle函数,所以整理一下,方便以后使用。

    1、nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b;
          nvl2(a,b,c) ,如果a不为null 则返回b,如果a为null则返回c;

    2、DECODE函数相当于一条件语句(IF).它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值。函数的参数列表是由若干数值及其对应结果值组成的若干序偶形式。当然,如果未能与任何一个实参序偶匹配成功,则函数也有默认的返回值。区别于SQL的其它函数,DECODE函数还能识别和操作空值. 其具体的语法格式如下: DECODE(input_value,value,result[,value,result…][,default_result]);

    解释如下:

    ECODE(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)

    DECODE(字段,比较1,值1,比较2,值2,.....,比较n,值n缺省值)  
    该函数的含义如下:
    IF 条件=值1 THEN
    RETURN(翻译值1)
    ELSIF 条件=值2 THEN
    RETURN(翻译值2)
    ......
    ELSIF 条件=值n THEN
    RETURN(翻译值n)
    ELSE
    RETURN(缺省值)
    END IF

    实例:decode(str,1,yes,no)假如变量str等于1,则str返回yes,若不等于则返回no,若要实现其他算法可继续增加。

    3、substr,取得字符串中指定起始位置和长度的字符串   substr( string, start_position, [ length ] )

    这个比较崩溃的是我经常和.net中的substring混淆,比如,这个substr(0,6)代表从第0个字符开始取6个但是substr(1,6)和这个substr(0,6)是一样的,也就是说,oracle中下标是从1开始而并非.net中数组的下标从0开始的,这个貌似大家需要注意。

    -----------------------------------------暂时更新到此,随用随时更新(2012-3-13 23:12)------------------------

    ------------------------------------------(2012-3-16 11:47更新)------------------------------------------------------

    4、minus 函数:Minus返回的总是左边表中的数据,它返回的是差集。注意:minus有剃重作用

         来源(:http://blog.csdn.net/greenappple/article/details/7073349)这个csdn上面介绍的感觉挺详细的,而且还有minus 、not exists 和not in 三个的效率的差别,这三个中minus效率最高,not exists次之,not in 最低,大家遇到大批量数据查询异同的时候可以选择此。用法

    select id from table1 minus select id2 from table2---返回左边-右边的左边的值

    5、题外话:insert into 是把数据插入到一个已经存在的表中,select into 是新建一个表来保存查询出来的数据

    ------------------------------------------(2012-3-20 01:25更新)------------------------------------------------------

    6、

    oracle 两个时间相减默认的是天数*24 为相差的小时数

    oracle 两个时间相减默认的是天数*24*60 为相差的分钟数

    oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数

    例:sysdate:2012-3-20 01:26结果为(1.44055555555556)

    select to_number(sysdate -
                     to_date('2012-3-20 0:00:00', 'yyyy-mm-dd hh24:mi:ss'))*24
      from dual

  • 相关阅读:
    javascript Date.prototype
    Mac 安装node.js
    element-ui适配pad 遇到的问题
    GCD实现异步任务同步的两种方式
    颜色判断
    ARC下方法重复问题
    检查IDFA的方法
    mac 下安装ecplise
    注释使用
    Xcode 8.0 控制台打印问题解决办法
  • 原文地址:https://www.cnblogs.com/smthts/p/2395179.html
Copyright © 2020-2023  润新知