1.字符函数
lower(string) upper() length() substr() replace(字段,src,dest)
select substr(ename,1,3) from emp;
从第几个开始,取几个字符
SQL> select ename from emp;
ENAME
--------------------
tazi
SMITH
ALLEN
WARD
JONES
MARTIN
SQL> select substr(ename,1,3) from emp;
SUBSTR(ENAME,1,3)
------------------------
taz
SMI
ALL
WAR
JON
2.数学函数
round(n,[m]) 四舍五入,m表示保留几位小数,m为负数则截取到小数点前多少位
trunc(n,[m]) 截取,m表示保留几位小数
floor()
ceil()
SQL> select mod(10,3) from dual;
MOD(10,3)
----------
1
3.日期函数
oracle默认的日期格式 dd-mm-yy,中文是02-1月-2012
SQL> select sysdate from dual;
SYSDATE
--------------
03-1月 –12
addmonths(d,n)
查找入职8个月以上的员工
select * from emp where sysdate>add_months(hiredate,8);
last_day(d)表示d日期所在的月的倒数第一天对应的日期
查找在一个月的倒数第三天入职的员工
select ename from emp where hiredate=last_day(hiredate)-2;
4.转换函数
把数据按照某种特定的格式显示
SQL> select ename,to_char(hiredate,'yyyy-mm-dd hh24:mm:ss') from emp;
ENAME TO_CHAR(HIREDATE,'YYYY-MM-DDHH24:MM:SS
-------------------- --------------------------------------
tazi
SMITH 1980-12-17 00:12:00
ALLEN 1981-02-20 00:02:00
对货币类型的数据格式化
SQL> desc emp;
名称 是否为空? 类型
----------------------------------------- -------- --------------------
SAL NUMBER(7,2)
select ename,to_char(sal,'L99,999.99') from emp; //L表示本地,可以换成’$’等
ENAME TO_CHAR(SAL,'L99,999.99')
-------------------- ---------------------------------
tazi ¥900.00
SMITH ¥800.00
ALLEN ¥1,600.00
WARD ¥1,250.00
JONES ¥2,975.00
MARTIN ¥1,250.00
99999.99是因为该字段是NUBER(7,2)类型
显示1980年入职的员工
SQL> select ename from emp where to_char(hiredate,'yyyy')=1980; /*Oracle会自动转换类型*/
ENAME
--------------------
SMITH
SQL> select ename from emp where to_char(hiredate,'yyyy')='1980';
ENAME
--------------------
SMITH
5.系统函数
sys_context()
SQL> select sys_context('USERENV','current_user') from dual;
SYS_CONTEXT('USERENV','CURRENT_USER')
-----------------------------------------------------------------
SCOTT
select sys_context('USERENV','current_schema')from dual;
db_name language nls_date_format当前会话的日期格式 host数据库所在主机名
SQL> select sys_context('USERENV','host') from dual;
SYS_CONTEXT('USERENV','HOST')
-------------------------------------------------------
WORKGROUP\TAZI-PC