首页 > 代码库 > 存储过程编程-常用函数

存储过程编程-常用函数

Oracle中如何使用转义字符:
SeparCh  char  := chr(1 );
NVL( string1, replace_with): 
功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。例:NVL(TO_CHAR(numeric_column), ‘some string‘) 其中numeric_column代指某个数字类型的值。
基本类型格式转换:
TO_CHAR 是把日期或数字转换为字符串
TO_DATE 是把字符串转换为数据库中的日期类型
TO_NUMBER 将字符转化为数字
to_char(sysdate,‘yyyymmddHH24MISS‘)——oracle中日期格式化输出
ROUND()——返回值数值是按照指定的小数位元数进行四舍五入运算的结果
SELECT ROUND( number, [ decimal_places ] ) FROM DUAL  —— 参数:(number : 欲处理之数值)(decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ))
Sample :
select round(123.456, 0) from dual;          回传 123
select round(123.456, 1) from dual;          回传 123.5
select round(123.456, 2) from dual;          回传 123.46

区段赋值函数:DECODE()
DECODE的语法:DECODE(value, if1, then1, if2, then2, if3, then3,...,else),表示如果value 等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else....
工资在8000元以下的将加20%;工资在8000元以上的加15%
如下:select decode(sign(salary - 8000), 1, salary*1.15, -1, salary*1.2, salary) from employee
函数语法:sign(n)
函数说明:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
http://www.cnblogs.com/kafony/archive/2011/08/25/2153675.html
 
 
LOWER/UPPER 大小写转换
全小写  LOWER(‘ABC‘) 结果 abc
全大写  UPPER(‘aBc‘) 结果 ABC
length()获取长度信息:
length(‘ABC‘)等于3
 
 
字符串连接符"||" (字符串‘‘单引号引用)
result := ltrim(rtrim(to_char(InterId)))||‘;‘ ||ltrim(rtrim(rMchNo))||‘;‘||ltrim(rtrim(rTrmNo));
 
 
去空格函数ltrim/rtrim/trim
 
 
复制子字符串substr()
app_mode := substr(tmpPara, 1, iPos- 1);
语法:substr(string,start,length)
start-必需,规定在字符串的何处开始。正数-在字符串的指定位置开始。负数-在从字符串结尾的指定位置开始。0-在字符串中的第一个字符处开始;length-可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。
 
 
查找子字符串instr()
iPos := instr(tmpPara, ‘;‘, 1);   --冒号出现的地方,第一个字符开始
 
 
数值或字符串中取最大值greatest()
greatest(2, 5, 12, 3)   would return 12
greatest(‘2‘, ‘5‘, ‘12‘, ‘3‘)   would return ‘5‘
greatest(‘apples‘, ‘oranges‘, ‘bananas‘)   would return ‘oranges‘
max():是取出一列中数值最大的记录
 
 
 
 

存储过程编程-常用函数