PL/SQL---ORACEL常用函数整理--
2012-06-13 09:12
387 查看
1.translate
语法:TRANSLATE(char, from, to)
用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
三个参数中有一个是空,返回值也将是空值。
举例:SQL> select translate('abcdefga','abc','wo') 返回值 from dual;
返回值
-------
wodefgw
2.replace
语法:REPLACE(char, search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string。
3.nvl
用法:nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b;
用法:nvl2(a,b,c) ,如果a不为null 则返回b,如果a为null则返回c;
<>不能比较空
4.decode
类似于if(条件 1 ,‘A’,2,'B') 1为A 2 为B
5.sign 正数 为 1 , 0 为0 , 负数 为 -1
6.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串
解释:string 元字符串
start_position 开始位置(从0开始)
length 可选项,子字符串的个数
For example:
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", 0, -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。
7.INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串
subString:要查找的子字符串
position:查找的开始位置
ocurrence:源字符串中第几次出现的子字符串
For example:
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置;返回结果为 14 '
INSRT 还用于多个查询代替 IN 示例:
WHERE INSTR(',' || ID字符串 用逗号链接 || ',' ,
',' || table.id || ',') > 0
示例一:
完成:当A > B,为 YES;当A<B,为NO, 当 A=0 是为YES
主要用于 A 和 B 数据比较之后 希望显示的结果,在decode 里面还可以在次嵌套decode 做多次判断
decode(sign(nvl(decode(A,0,'',A,A), B) - B),
1,'YES',
0,' YES ',
-1 ,'NO';
示例二:
2.默认显示ALL,选择Y或N 选择显示YES或NO
主要用于比较结果的查询 A 和 B 大于或 小于 显示哪些数据
这样可以减少每次条件的查询代码,减少代码量
当然你也可以用 IF ELSEIF ELSEFI ....... IF 一直循环下去
IF p_over = 'Y' THEN
v_over := 'Y';
ELSif p_over='N' then
v_over := 'N';
END IF;
AND (v_over IS NULL or decode(sign(nvl(A, B) - B),
1, --NO
'N',
0, --NO
'N',
-1, --YES
'Y') = v_over)
语法:TRANSLATE(char, from, to)
用法:返回将出现在from中的每个字符替换为to中的相应字符以后的字符串。
若from比to字符串长,那么在from中比to中多出的字符将会被删除。
三个参数中有一个是空,返回值也将是空值。
举例:SQL> select translate('abcdefga','abc','wo') 返回值 from dual;
返回值
-------
wodefgw
2.replace
语法:REPLACE(char, search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string。
3.nvl
用法:nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b;
用法:nvl2(a,b,c) ,如果a不为null 则返回b,如果a为null则返回c;
<>不能比较空
4.decode
类似于if(条件 1 ,‘A’,2,'B') 1为A 2 为B
5.sign 正数 为 1 , 0 为0 , 负数 为 -1
6.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串
解释:string 元字符串
start_position 开始位置(从0开始)
length 可选项,子字符串的个数
For example:
substr("ABCDEFG", 0); //返回:ABCDEFG,截取所有字符
substr("ABCDEFG", 2); //返回:CDEFG,截取从C开始之后所有字符
substr("ABCDEFG", 0, 3); //返回:ABC,截取从A开始3个字符
substr("ABCDEFG", 0, 100); //返回:ABCDEFG,100虽然超出预处理的字符串最长度,但不会影响返回结果,系统按预处理字符串最大数量返回。
substr("ABCDEFG", 0, -3); //返回:EFG,注意参数-3,为负值时表示从尾部开始算起,字符串排列位置不变。
7.INSTR(string,subString,position,ocurrence)查找字符串位置
解释:string:源字符串
subString:要查找的子字符串
position:查找的开始位置
ocurrence:源字符串中第几次出现的子字符串
For example:
INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符串为'CORPORATE FLOOR', 目标字符串为'OR',起始位置为3,取第2个匹配项的位置;返回结果为 14 '
INSRT 还用于多个查询代替 IN 示例:
WHERE INSTR(',' || ID字符串 用逗号链接 || ',' ,
',' || table.id || ',') > 0
示例一:
完成:当A > B,为 YES;当A<B,为NO, 当 A=0 是为YES
主要用于 A 和 B 数据比较之后 希望显示的结果,在decode 里面还可以在次嵌套decode 做多次判断
decode(sign(nvl(decode(A,0,'',A,A), B) - B),
1,'YES',
0,' YES ',
-1 ,'NO';
示例二:
2.默认显示ALL,选择Y或N 选择显示YES或NO
主要用于比较结果的查询 A 和 B 大于或 小于 显示哪些数据
这样可以减少每次条件的查询代码,减少代码量
当然你也可以用 IF ELSEIF ELSEFI ....... IF 一直循环下去
IF p_over = 'Y' THEN
v_over := 'Y';
ELSif p_over='N' then
v_over := 'N';
END IF;
AND (v_over IS NULL or decode(sign(nvl(A, B) - B),
1, --NO
'N',
0, --NO
'N',
-1, --YES
'Y') = v_over)
相关文章推荐
- SQL“常用查询语句”、“常用日期查询方式”、“常用函数”整理
- PL/SQL练习题二(常用函数)
- PL/SQL数据类型及常用函数
- PL/SQL常用函数列表
- 【数据库学习笔记】Oracle_02_序列,分页,常用函数,jdbc,PL/SQL
- Android面试整理之SQLite数据库——sql语句和常用函数(一)
- sql 函数大全 比较常用的一些函数整理第1/2页
- PL/SQL学习笔记-常用函数
- sql笔记整理之常用函数
- PL/SQL的数据类型和常用函数
- PL/SQL的数据类型和常用函数
- Android面试整理之SQLite数据库——sql语句和常用函数(二)
- 数据库SQL常用函数整理
- PL/SQL学习笔记-常用函数
- SQL 一些常用的函数整理
- oracle,PL/SQL常用函数列表
- PL/SQL学习笔记[3]-常用函数
- PL/SQL 常用函数
- 整理几个常用的sql内部函数