zoukankan      html  css  js  c++  java
  • oracle中的函数及其应用


    --、、、、、、、、、、、、、、常用的单行函数、、、、、、、、、、、、、、、、、、、、、、

     


    -------------------  常用的字符函数  ----------------------
    --initcap(char):首字母大写
    select initcap('hello') from dual

    --lower(char):转换为小写
    select lower('LOVEy') from dual

    --upper(char):转换为大写
    select upper('love you') from dual

    --ltrim(char,set):左剪裁
    select ltrim('abc you','abc') from dual


    --Rtrim(char,set):右剪裁
    select Rtrim('abcyou','you') from dual

    --translate(char,from,to):按字符翻译
    select translate('jack','abcd','1234') from dual

    ---replace(char,search_str,replace_str):字符串替换
    select replace('jack and jue','j','bl') from dual

    --instr(char,substr[,pos]):查找第一个子串位置
    select instr('worldwide','d') from dual

    --substr(char.pos.len):取子字符串
    select substr('abcdefg',3,2) from dual

    --concat(char1,char2):连接字符串
    select concat('hello ','world') from dual





    ------------------- 常用的数字函数 -----------------------
    --ABS(n):取绝对值
    select abs(-14) from dual

    --ceil(n):向上取整
    select ceil(123.43243155) from dual

    --floor(n):向下取整

    select floor(123.876) from dual

    --sin(n):正弦
    select sin(1.23) from dual

    --cos(n):余弦
    select cos(0) from dual

    --sign(n):取符号
    select sign(-32) from dual

    --power(m,n):m的n次幂
    select power(4,2) from dual

    --mod(m,n):取余数
    select mod(10,4) from dual

    --round(m,n):四舍五入
    select round(1254.435421,3) from dual

    --trunc(m,n):截断
    select trunc(100.256,1) from dual

    --sqrt(n):v
    select sqrt(4) from dual






    ------------------  orcle的时间函数  --------------

    ----months_between:返回两个日期之间的月份差距
    select months_between(date'2005-04-05',date'2004-04-05') from dual

    ---add_months
    select add_months(date'2005-04-05',1) from dual

    ---获得当前系统时间
    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    select to_char(sysdate,'Q') from dual   --季度
    select to_char(sysdate,'dd') from dual  --日期
    select to_char(sysdate,'iw') from dual  --周。每年有52或是53周

    --next_day:返回指定日期后的星期对应的新日期
    select next_day(date '2015-05-06','monday')from dual


    --last_day:返回某月的最后一天
    select last_day(date'2005-04-05') from dual

    --round:按指定格式对日期进行四舍五入
    select round(to_date(date '2015-02-04'),'year') from dual
    select round(to_date(date '2015-02-04'),'month') from dual
    select round(to_date(date '2015-02-04'),'day') from dual


    ----trunc:对日期按指定方式进行截断
    select trunc(to_date(date '2015-02-04'),'year') from dual;
    select trunc(to_date(date '2015-02-04'),'month') from dual;
    select trunc(to_date(date '2015-02-04'),'day') from dual;



    --------------- 常用的转换函数  -------------------
    --- to_char :转换成字符串类型

    select to_char(ADOPT_TIME,'yyyy"年"mm"月"dd"日"') from pet
    select to_char(ADOPT_TIME,'yyyy"-"mm"-"dd') from pet
    select to_char(ADOPT_TIME,'yyyy"/"mm"/"dd') from pet
    select to_char(1234.5,'$9999.9') from dual

    --to_date:转换成日期类型

    select to_date('2015-03-04','yyyy-mm-dd') from dual

    --to_number:转换成数值类型
    select to_number('1234.6') from dual



    ---------------------  other  -------------------------

    --NVL(EXP1, EXP2):如果exp1的值为null,则返回exp2的值,否则返回exp1的值    
    select nvl(name,'无名') from pet



    --NVL2(EXP1, EXP2, EXP3):如果exp1的值为null,则返回exp2的值,否则返回exp3的值
    select nvl2(name,'aa','bb') from pet


    ---DECODE(VALUE,IF1,THEN1,IF2,THEN2,……,ELSE):如果value的值为if1,则返回then1的值,
    --如果value的值为if2,则返回then2的值,……,否则返回else值
    select decode(status,1,'正常',2,'禁用') from pet
         

    ---、、、、、、、、、、、、、、、、、、、、、 常用的多行函数  、、、、、、、、、、、、、、、、、、、、、
    --SUM()、AVG()、COUNT()、MAX()、MIN()

  • 相关阅读:
    hdu-2841 Visible Trees---容斥定理
    hdu-4135 Co-prime---容斥定理经典&&求1-m中与n互质的数目
    hdu-1796 How many integers can you find---容斥定理
    hdu-2837 Calculation---指数循环节
    FZU-1759 Super A^B mod C---欧拉降幂&指数循环节
    指数循环节&欧拉降幂
    hdu-3074 Multiply game---线段树+单点更新
    hdu-1792 A New Change Problem---数论&剩余系
    POJ-2429 GCD & LCM Inverse---给出gcd和lcm求原来两个数
    hdu-2685 I won't tell you this is about number theory---gcd和快速幂的性质
  • 原文地址:https://www.cnblogs.com/ziyasi/p/4483006.html
Copyright © 2011-2022 走看看