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 | 插入的行数 | 修改的行数 | 删除的行数 |