您的位置:首页 > 数据库 > Oracle

Oracle PL/SQL 常用函数

2009-09-14 11:20 246 查看
在csdn上也看到一个帖子叫Oracle常用函数110.大概的看了一下,里面数据计算的居多,协方差之类的.自己觉得用到的不多,今天看到的这个,不是很全,稍微增加了一下,等以后用到的时候可以查看.
一:字符函数
名称     功用
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为搜索次数

CHARINDEX
返回字符串中指定表达式的起始位置。
语法
CHARINDEX ( expression1 , expression2 [ , start_location ] )
如果在 expression2 内没有找到 expression1,则 CHARINDEX 返回 0。

二:日期函数
名称     功用
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     插入的行数     修改的行数     删除的行数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: