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 插入的行数 修改的行数 删除的行数
原文地址:https://www.cnblogs.com/liulun/p/1526177.html