1、 Oracle中常用的函数
Lower(char):将字符串转换成小写
Upper(char):将字符串转换成大写
Length(char):字符串的长度
Substr(char,m,n):截取字符串
练习题:
a、将所有的员工的信息按照小写显示
b、显示用工姓名长度正好为5的员工的信息
c、显示所有员工姓名的前三个字母
d、以首字为小写的形式将用工姓名显示出来
Replace(char,m,n):将指定的字符替换成指定的字符
Instr:取子字符串在字符串中的位置
2、 数学函数
Ruand(n,[m]):用于四舍五入,如果省掉M则四舍五入到整数;如果M是整数那么,四舍五入到小数点后M位后,如果是负数四舍五入到小数点M位后
Trunc(n,[m]):该函数用于截取数字,如果省掉m就截取小数部分,如果m是正数就截取掉小数点的M位后,如果是负数就截取掉小输掉M为前Mod(m,n);
Floor(n);向下取整数
Ceil(n);向上取整数
Abs(n)取绝对值
Acos (n):反余弦
Asin(n);反正弦
Cos(n)
Exp(n)返回 E的n次幂
Log(m,n) 去对数
Power(m,n) 返回m的n次幂
3、日期函数
Sysdate:得到当前的系统时间
Add_months(d,n):在当前日期上加上n个月
Last_day(date);返回所在月份的最后一天
a、查询出已经入职超过18年的员工的所有信息
b、显示出每个员工在公司工作的天数
c、查询出是每个月后3天入职的员工的信息
4、转换函数
to_char()将数字转换成字符;
to_date( );将字符转换成日期
to_number():将字符转换成数字;
4、字符操作的常用函数:
concate('A','B'):将A和B连接起来,形成AB;
Substr('Apple',1,3):将Apple字符串从第一个位置开始,取三个字符,所以结果是APP
Length('Apple')计算字符串的长度,结果为5;
Instr('Apple','l')找出要查询字符所在的位置,实例中查询l是在第四个位置,所以结果为4;
5、decode
decode函数就像一般写程序时的if……then……else语句,符合一个条件时,就做一件事,decode语法如下:
decode(col/expression,search|,result|[,research2,result2,……] [,default])
条件控制语句:
sign函数语法:
sign(n)
sign函数说明:
取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
selectdecode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee;
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)
该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
selectdecode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
例如:
变量1=10,变量2=20
则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。
6、群组函数
sum()、max()、min()、avg()、count()。
注意这些组函数取值的时候不包括null值
包括null值的写法:select avg(nvl(comm,0)) from emp;
* select deptno,max(sal) from depart group bydeptno having max(sal)>30000;