1.字符函数
select * from emp where ename=upper('smith');--返回SMITH
select * from emp where ename=lower('SMITH');--返回smith
select initcap(ename) from emp;
select concat('A','B') from 表名;--返回'AB'
select substr('abcdef',2) from dual; --结果为:bcdef 从2开始全部返回
select substr('abcdef',2,3) from dual;--结果为:bcd 从2开始返回3位
select length(ename) from emp;
select replace(ename,'a','A') from emp;--使用字母“a”替换掉姓名中的所有字母“A”
select instr('Hello World','or') from dual; --返回8
lpad('Smith',10,'*') --*****Smith
rpad('Smith',10,'*') --Smith*****
trim(' Mr Smith ') --Mr Smith
2.数值函数
select round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666)
from dual;
--返回:5555.67 , 5600 , 5556
Select mod(10,3), mod(10,2), mod(10,4) from dual;
--返回:1 ,0 , 2
select trunc(5555.66666,2.1),trunc(5555.66666,-2.6),trunc(5555.033333) from dual;
--返回: 5555.66 , 5500 , 5555
3.日期函数
select months_between(
to_date('20090228', 'yyyymmdd'), to_date('20080228', 'yyyymmdd')
) as months from dual;
--返回:12
add_months(to_date('29-Feb-96','d-mon-yyyy'),-12.99)
--返回: 28-Feb-95
add_months(to_date('15-Nov-1961','d-mon-yyyy'),1)
--返回:15-Dec-1961
select next_day(sysdate,'星期日') from dual;
last_day(to_date('1999.11.29','yyyy.mm.dd'))
--返回:1999年11月31
4.转换函数
select to_char(sysdate,'yyyy') from dual;
select to_char(sysdate,'fmyyyy-mm-dd') from dual;
select to_char(sal,'L999,999,999') from emp;
select to_char(sysdate,’D’) from dual;--返回星期
select to_number('13')+to_number('14') from dual;
Select to_date(„20090210‟,‟yyyyMMdd‟) from dual;
5.通用函数
select nvl(comm,0) from dual;
select nullif(sal,8888) from dual;
select nvl2(sal,8888,9999) from dual;
select coalesce(comm, 1, 0) from dual;
select empno, ename, sal,
case deptno
when 10 then '财务部'
when 20 then '研发部'
when 30 then '销售部'
else '未知部门'
end 部门
from emp;
select empno, ename, sal,
decode(
deptno,
10, '财务部',
20, '研发部',
30, '销售部',
'未知部门'
) 部门
from emp;
注:Oracle初学者整理,并不完全,日后将更加深入的了解。