天天看点

PL/SQL学习笔记-常用函数

此文章参考了网络上的一篇文章,并对原文做了补充和修改,并将不断补充和修改

作者已佚,

一:字符函数

名称

功用

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

sql%found

true

有结果

成功

没结果

失败

sql%notfound

sql%rowcount

返回行数只为1

插入的行数

修改的行数

删除的行数

继续阅读