您的位置:首页 > 数据库 > Oracle

Oracle 常用的一些函数

2015-09-05 21:47 756 查看


字符函数

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()求和
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: