大小写控制函数
lower :将大写变成小写
upper :将小写变成大写
initcap :修改字符串首字母大写
字符控制函数
CONCAT :(concat)字符串拼接
SUBSTR :substr 截取字符串
INSTR :instr 返回查找数的索引
LENGTH(arg1) : length 返回参数的长度
LPAD :lpad向左边填充字符串
RPAD :rpad向右边填充字符串
TRIM :trim 删除字符串两边的指定字符
REPLACE :replace 替换字符串
数字函数
ROUND : round四舍五入
TRUNC : trunc 截断
MOD : mod求余
日期有关函数
在日期上加上或减去一个数字结果仍为日期。
SYSDATE : sysdate 返回日期和时间
MONTHS_BETWEEN : months_between (参数1,参数2),返回的是两日期差的月份数
ADD_MONTHS : add_months向指定日期中加上若干月数。
NEXT_DAY :next_day指定日期的下一个星期 * 对应 的日期
LAST_DAY :last_day本月的最后一天
ROUND :round四舍五入
TRUNC :trunc日期截断
通用函数:
NVL (expr1, expr2) :将空值转换成一个已知的值:
NVL2 (expr1, expr2, expr3) : expr1不为NULL,返回expr2;为NULL, 返回expr3
NULLIF (expr1, expr2) : 相等返回NULL,不等返回expr1
条件表达式:
在 SQL 语句中使用IF-THEN-ELSE 逻辑,使用两种方法:
CASE 表达式
DECODE 函数
下面是使用case函数的一个例子:
SELECT last_name, job_id, salary,
CASE job_id WHEN 'IT_PROG' THEN 1.10*salary
WHEN 'ST_CLERK' THEN 1.15*salary
WHEN 'SA_REP' THEN 1.20*salary
ELSE salary END "REVISED_SALARY"
FROM employees;
下面是使用decode函数的一个例子:
SELECT last_name, job_id, salary,
DECODE(job_id, 'IT_PROG', 1.10*salary,
'ST_CLERK', 1.15*salary,
'SA_REP', 1.20*salary,
salary)
REVISED_SALARY
FROM employees;
分组函数:
•AVG :求平均
• COUNT :计数函数,返回表中记录总数。
• MAX :最大值
• MIN :最小值
• STDDEV :统计分析函数
• SUM :求和
组函数忽略空值。
NVL函数使分组函数无法忽略空值。
不能在 WHERE 子句中使用组函数,可以在 HAVING 子句中使用组函数。