单行函数
字符串函数
NO. | 函数名 | 描述 |
1 | 字符串 UPPER(列 | 字符串) | 数据转大写 |
2 | 字符串 LOWER(列 | 字符串) | 数据转小写 |
3 | 数字 LENGTH(列 | 字符串) | 计算字符串的长度 |
4 | 字符串 SUBSTR(列 | 字符串,开始索引) 字符串 SUBSTR(列 | 字符串,开始索引,长度) | 从指定位置截取字符串到结尾 从开始位置截取指定长度的字符串 |
5 | 字符串 INITCAP(列 | 字符串) | 首字母大写,其他字母小写 |
6 | 字符串 REPLACE(列 | 字符串,原始内容,新的内容) | 字符串替换 |
数值函数
NO. | 函数名 | 描述 |
1 | 数字 ROUND(列 | 数值 [,保留小数位数]) | 四舍五入 |
2 | 数字 TRUNC(列 | 数值 [,保留小数位数]) | 数据截取 |
3 | 数字 MOD(列 | 数值 ,列 | 数值) | 求模(取余数) |
日期函数
NO. | 函数名称 | 描述 |
1 | 数字 MONTHS_BETWEEN(列 | 日起,列 | 日期) | 计算两个日期之间跨过的月数 |
2 | 日期 ADD_MONTHS(列 | 日期,月数) | 求出若干月之后的日期 |
3 | 日期 NEXT_DAY(列 | 日期,月数) | 求出下一个指定的日期 |
4 | 日期 LAST_DAY(列 | 日期) | 求出指定日期所在月的最后一天 |
|- 日期 + 数字 = 日期;
- 日期 - 数字 = 日期;
- 日期 - 日期 = 天数;
范例:处理null数据
转换函数
NO. | 函数名 | 描述 |
1 | 字符串 TO_CHAR(列 | 日期 | 数字,转换格式) | 格式化字符串显示 |
2 | 日期 TO_DATE(列 | 字符串,格式) | 将字符串变为日期 |
3 | 数字 TO_NUMBER(列 | 字符串) | 将字符串变为数字 |
通用函数
通用函数指的是Oracle中的特色函数,有两个重要基础函数:NVL()、DECODE()。
NO. | 函数名 | 描述 |
1 | 数字 NVL(列,默认值) | 把内容为null的内容用默认值来替换 |
2 | 数据类型 DECODE(列 | 数值,匹配数值1,显示数值1,匹配数值2,显示数值2.........) | 多值判断函数。在选中列或数值中使用显示数值替换匹配数值显示出来 |
范例:处理null数据
SELECT empno,ename, sal,NVL(comm,0),(sal+NVL(comm,0))*12 income FROM emp ;
返回的结果中把comm列之中所有为null的数据替换为了0
范例:将所有的雇员职位信息变为中文显示
SELECT ename,job,
DECODE(job,'CLERK','办事员','SALESMAN','销售',
'MANAGER','经理','ANALYST','分析员','PRESIDENT','总裁','没有匹配条件')
FROM emp ;