一、单行函数
1、字符函数
UPPER(字符串):将字符串全部变成大写;
实例:select upper('yes') from dual;
LOWER(字符串):将字符串全部变成小写;
实例:select lower('YES') from dual;
2、数值函数
2.1、ROUND(数字,从第几为开始取):四舍五入
实例:select round(56.16, -2) from dual;
2.2、TRUNC(数字,从第几位开始):切数字
select trunc(56.16, -1) from dual;
2.3、MOD(被除数,除数):取余数
select mod(10, 3) from dual;
3、日期函数
3.1、LAST_DAY(日期):求出该日期所在月的最后一天.
实例:select last_day(hiredate) from emp;
3.2、ADD_MONTHS(日期,数字):在已有的日期上加一定的月份;
实例:select add_months(hiredate,20),hiredate from emp;
3.3、MONTHS_BETWEEN(日期1,日期2):求出两个月之间的天数(注意返回的天数为小数);
实例:select months_between(sysdate,hiredate) from emp;
4、转换函数
4.1、TO_CHAR(日期,'格式'):将不是其他类型转成字符类型;
实例:select to_char(sysdate, 'fm yyyy-mm-dd hh24:mi:ss') from dual;
4.2、TO_DATE(字符串,'格式'):把字符串的数据转换成日期类型
实例:select to_date('2018-6-7 16:39:50', 'fm yyyy-mm-dd hh24:mi:ss') from dual;
5、通用函数
5.1、NVL(字符串,替换字符):如果字符串为空则替换,否则不替换
实例:select e.sal*12+nvl(e.comm, 0) from emp e;
5.2、Decode函数
语法:DECODE(col/expression, [search1,result1],[search2, result2]....[default])
实例:select e.ename, decode(e.ename,'SMITH', '曹贼','ALLEN', '大耳贼','WARD', '诸葛小儿','无名') "中文名" from emp e;
5.3、case when
语法:CASE expr WHEN comparison_expr1 THEN return_expr1 [WHEN comparison_expr2 THEN return_expr2 WHEN comparison_exprn THEN return_exprn ELSE else_expr] END
实例:select e.sal, case when e.sal>3000 then '高收入' when e.sal>1500 then '中等收入' else '低收入' end from emp e;
二、多行函数(集合函数)
1、统计值(count)
实例:select count(1) from emp;
2、平均值(avg)
实例:select avg(sal) from emp;
3、最大值(max)
实例:select max(sal) from emp;
4、最小值(min)
实例:select min(sal) from emp;
5、合计值(sum)
实例:select sum(sal) from emp;