一、SQL 函数使用
① 字符函数
-
lower(char)
将字符串转化为小写的格式。 -
upper(char)
将字符串转化为大写的格式。 -
length(char)
返回字符串长度。 -
substr(char,m,n)
去字符串字母。 -
replace(char1,search_string,replace_string)
替换字符串。 -
instr(char1,char2,[,n[,m]])
取子串在字符串的位置。
例子:
- 将所有员工的名字按小写方式显示
select lower(ename) from emp;
- 将所有员工的名字按大写方式显示
select upper(ename) from emp;
- 显示正好为 5 个字符的员工姓名
select * from emp where length(ename) = 5;
- 显示所有员工姓名前三个字符
select substr(ename,1,3) from emp;
- 以首字母大写方式显示所有员工姓名
//首字母大写
select upper (substr(ename,1,1)) from emp;
//后面字母小写
select lower (substr(ename,2,length(ename)-1)) from emp;
//合并
select upper (substr(ename,1,1)) || lower (substr(ename,2,length(ename)-1)) from emp;
- 以首字母小写方式显示所有员工姓名
//首字母小写
select lower (substr(ename,1,1)) from emp;
//后面字母大写
select upper (substr(ename,2,length(ename)-1)) from emp;
//合并
select lower(substr(ename,1,1)) || upper (substr(ename,2,length(ename)-1)) from emp;
- 显示所有员工姓名,用 "a" 替换所有 "A"
select replace (ename,'a','A') from emp;
② 数字函数
数字函数:数字函数的输入参数和返回值的数据类型都是数字类型的。
数字函数包括:cos,sosh,exp,In,log,sin,sinh,sqrt,tan,tanh,acos,asin,atan,round。
最常用的数字函数:
round(n,[m])
该函数用于执行四舍五入,如果省掉 m ,则四舍五入到整数;如果四舍五入到小数点的 m 位后,如果 m 是负数,则四舍五入到小数点的 m 位前。trunc(n,[m])
该函数用于截取数字,如果省掉 m ,就截去小数部分,如果 m 是正数就截取到小数点的 m 位后,如果 m 是负数,则截取到小数点的前 m 位。mod(m,n)
取余,m 为被除数,n 为除数,如果 n 为 0,结果为 m。floor(n)
返回小于或是等于 n 的最大整数。ceil(n)
返回大于或是等于 n 的最小整数。
例子:
- 显示在一个月为 30 天的情况所有员工的日薪金,忽略余数
select trunc(sal/30),ename from emp;
select floor(sal/30),ename from emp;
//round
select round (sal) + round(comm) * 13 from emp;
select round (sal) + round(comm) * 13 from emp where ename='shunping';
select round (sal,1) from emp where ename='shunping';
select round (sal,1) from emp where ename='shunping';
select round (sal,1),sal from emp where ename='shunping';
select round (comm,1),comm from emp where ename='shunping';
//trunc
select trunc (comm,1),comm from emp where ename='shunping';
select trunc (comm,-1),comm from emp where ename='shunping';
//floor
select floor (comm),comm from emp where ename='shunping';
//ceil
select ceil (comm),comm from emp where ename='shunping';
//mod
select mod(10,2) from dual;
注意:
在做 Oracle 测试时,可以使用 dual 表进行测试。
三、数学函数
abs(n)
返回绝对值
select abs(-13) from dual;
acos(n)
返回数字的反余弦值asin(n)
返回数字的反正弦值atan(n)
返回数字的反正切cos(n)
返回数字的余弦值exp(n)
返回 e 的 n 次幂log(m,n)
返回对数值power(m,n)
返回 m 的 n 次幂