Oracle 常用的一些函数

Nov 19, 2016 阅读(365)

标签: Oracle

字符函数

        SELECT UPPER('hello WORLD') FROM DUAL;     //将小写字母变为大写字母
        SELECT LOWER('hello WORLD') FROM DUAL;     //将大写字母变为小心字母
        SELECT INITCAP('hello WORLD') FROM DUAL;    //将字符串的首字母大写
        SELECT CONCAT('hello',' world') FROM DUAL;      //字符串拼接,还有一种拼接方式就是用“||”拼接字符串

        SELECT SUBSTR('hello',1,3) 截取字符串,  LENGTH('hello') 字符串长度,  REPLACE('hello','l','x') 字符串替换    FROM DUAL;
        substr()详解:
        格式一:substr('字符串',begin_index,sub_length)            // begin_index 子串截取的启始位置(0和1其效果是一样的,值是负数意思是倒着进行),sub_length 子串的长度

        格式二:substr('字符串',begin_index)             //begin_index 子串截取的启始位置(0和1其效果是一样的,值是负数意思是倒着进行)






日期函数

日期操作规律:日期 - 数字 = 日期、  日期 + 数字 =日期、   日期 - 日期  = 数字


months_between(date1,date2)    : 求日期date1和date2之间月份间隔数(date1-date2)
add_months(date,add_num)       :求date加上add_num(指定的月份数字)后的日期
next_day(date,week)                    : 求date(日期)后的下一个week(星期几)的日期,week[1~7 | Monday~Sunday |  星期一~星期日] , 1==星期日,2==星期一
last_day(date)                              : 求date(日期)所在月的最后一天的日期






通用函数

nvl(column,replace_value)            : 如果column is null 则将其值当作 replace_value来处理

例如:select empno,(sal+nvl(comm,0))*12 from emp;    //如果comm(奖金数) is null就当作0来计算


decode(expression,case1,content1,case2,content2  .....):类似switch语句,expression中的值匹配到caseX就当作contentX来处理

switch(expression){

    case1:content1;

    case2:content2;

    .....

}

例如:select empno 雇员编号,ename 雇员姓名,decode(job,'coder','程序员','manager','经理','dba','数据库管理员') 职位 from emp;


组函数

count()求全部记录数

max()求最大记录数

min()求最小记录数

avg()求平均

sum()求和