PL/SQL学习笔记-常用函数
此文章参考了网络上的一篇文章,并对原文做了补充和修改,并将不断补充和修改
作者已佚,
地址为:http://360doc.com/content/060307/10/2187_76452.html
一:字符函数
| 名称 | 功用 |
| LOWER(xland) | 将字符串表达式xland中的所有大写字母转换为小写字母 |
| UPPER(xland) | 将字符串表达式xland中的所有小写字母转换为大写字母 |
| INITCAP(xland) | xland字符串中首字母转换成大写 |
| SUBSTR(xland,start,length) | 返回字符串表达式xland中从第start开始的length个字符(按字符数计算长度) |
| substrb(xland,start,length) | 返回字符串表达式xland中从第start开始的length个字符(按字节数计算长度) |
| LENGTH(xland) | 返回字符串xland的字符长度 |
| LENGTHb(xland) | 返回字符串xland的字节长度 |
| LTRIM(xland) | 去掉字符串xland左侧的空格,并返回值 |
| RTRIM(xland) | 去掉字符串xland右侧的空格,并返回值 |
| Trim(xland) | 去掉字符串xland两端的空格,并返回值 |
| REPLACE(xland,str1,str2) | 将字符串xland中所有str1换成str2 |
| INSTR(xland,str,start,times) | 在xland字符串中搜索str字符串,start为执行搜索操作的起始位置,times为搜索次数 |
二:日期函数
| 名称 | 功用 |
| SYSDATE | 返回系统当前日期和时间 |
| NEXT_DAY(day,char) | day为date型,char为字符串型代表星期几, 假设今天是2009-7-18星期六,那么next_day(sysdate,'星期一');返回的是2009-7-20 |
| LAST_DAY(day) | 返回day日期所指定月份中最后一天所对应的日期 |
| ADD_MONTH(day,n) | 返回day日期在n个月后(n为正数)或前(n为负数)的日期 |
| MONTHS_BETWEEN(day1,day2) | 返回day1日期和day2日期之间相差得月份,两个参数的格式必须一致,此函数不好用 |
三:数据类型转换函数
| 名称 | 功用 |
| to_char(xland,[format]) | 将日期或数字类型的变量xland转换成字符串类型 给一个格式字符串yyyy-mm-dd hh-mi-ss |
| to_date(xland,[format]) | 将字符串转换成指定格式的日期形式 |
| TO_NUMBER(xland) | 将字符型数据转换成数字型数据 |
四:集合函数
| 名称 | 功用 |
| AVG | 计算一列值的平均值 |
| COUNT | 统计一列中值的个数 |
| MAX | 求一列值中的最大值 |
| MIN | 求一列值中的最小值 |
| SUM | 计算一列值的总和 |
五:预定义错误
| 名称 | 功用 |
| zero_divide | 发生被0除的错误 |
| case_not_found | 在case语句中没有包含必须的where子句 |
| no_data_found | select into 语句没有返回任何数据 |
| dup_val_on_index | 试图在一个具有唯一约束的列中插入重复的值 |
| invalid_error | 发生一个算法、转换、截断、大小约束错误(sql语句中) |
| value_error | 发生一个算法、转换、截断、大小约束错误(过程性语句中) |
六:显式游标属性
| 名称 | 功用 |
| cursor_name%isopen | 打开状态true,关闭状态false |
| cursor_name%found | 最近一次提取游标操作,成功为true,失败为false |
| cursor_name%notfound | 与cursor_name%found相反 |
| cursor_name%rowcount | 最近一次提取到的数据行的序号 |
七:隐式游标属性
| 属性 | 值 | select | insert | update | delete |
| sql%isopen | false | false | false | false | |
| sql%found | true | 有结果 | 成功 | 成功 | |
| sql%found | false | 没结果 | 失败 | 失败 | |
| sql%notfound | true | 没结果 | 失败 | 失败 | |
| sql%notfound | false | 有结果 | 成功 | 成功 | |
| sql%rowcount | 返回行数只为1 | 插入的行数 | 修改的行数 | 删除的行数 |

浙公网安备 33010602011771号