zoukankan      html  css  js  c++  java
  • oracle相关函数

    (大写的PS:oracle存储过程测试进不去解决方案:重新编译;)

    TRUNC(sysdate, 'd') + 1   ////表示今天所在周的周一的年月日,如今天是2016.04.21周四,则TRUNC(sysdate, 'd') + 1表示2016.04.18周一

     select trunc(sysdate) from dual;

    case when 1>0 then 1 else 0 end  ////表示当1>0条件满足时取1,否则取0

    select (case when 1>2 then 3 when 4>5 then 6 when 7<8 then 9 else 10 end) from dual; --结果为9;多个when条件,且else可省略;

    TO_CHAR(sysdate, 'yyyyMMdd')   ////得到字符串"2016/04/21" PS:把日期或数字转换成字符串(to_char的结果和to_number结果可计算)

    to_date('2018-12-12','yyyy-MM-dd') --可把字符串按指定格式转换成date类型,一般比较日期,要么把日期转换成字符串或数字,要么把字符串转换成日期,两者相同类型才能比较;

    MONTHS_BETWEEN(DATE1,DATE2)   ////返回两个日期之间的月份数

    select a.*,b.* from a,b where a.id=b.id(+)   ///加号在“=”右边表示左连(left join)  相当于select a.*,b.* from a left join b on a.id=b.id   a为主表

    dense_rank()over(order by 列名排序)的结果是连续的,如 1 1 1 2

    ||  字符串连接符比如:'aaa' || 'bbb'= 'aaabbb'

    EXECUTE IMMEDIATE,一般用于存储过程中执行动态sql,表不存在可能会报错

    substr(字符串,截取开始位置,截取长度) //返回截取的字

    instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') (PS:在Oracle中比like效率更高)

    nvl(a,b),当a不为null时返回a,当a为null时返回b。  nvl(REMARKS,' ')<>' '   判断字段不为null和空,length(REMARKS)>1,可能会导致语句执行时间过长

    rpad函数从右边对字符串使用指定的字符进行填充

    rpad('tech', 7); 将返回'tech '

    rpad('tech', 2); 将返回'te'

    rpad('tech', 8, '0'); 将返回'tech0000'

    round(x,y)   ////x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位

    extract(month from sysdate)  --获取当前时间的月份   等价于to_char(sysdate,'MM')

    extract(year from sydate) --获取当前时间的年份  等价于to_char(sysdate,'YYYY')

    extract(day from sysdate) --返回当前时间的日   等价于to_char(sysdate,'DD')

    exists 和in

    1) select * from T1 where exists(select 1 from T2where T1.a=T2.a) ;

        T1数据量小而T2数据量非常大时,T1<<T2 时,1) 的查询效率高。

    2) select * from T1 where T1.a in (select T2.a fromT2) ;

         T1数据量非常大而T2数据量小时,T1>>T2 时,2) 的查询效率高。

    DECODE('X','b','c','d','e',0)  ----当X=b时得到c,当x=d时得到e,当x <>b and x<>d时得到0;


    不积跬步无以至千里,不积小流无以成江海。。。
  • 相关阅读:
    cnblog项目--20190309
    django js引入失效问题
    Python老男孩 day16 函数(六) 匿名函数
    Python老男孩 day16 函数(五) 函数的作用域
    Python老男孩 day15 函数(四) 递归
    Python老男孩 day15 函数(三) 前向引用之'函数即变量'
    Python老男孩 day15 函数(二) 局部变量与全局变量
    Python老男孩 day14 函数(一)
    Python老男孩 day14 字符串格式化
    Python老男孩 day14 集合
  • 原文地址:https://www.cnblogs.com/ScottLin/p/10101330.html
Copyright © 2011-2022 走看看