WEB开发网
开发学院数据库Oracle PL/SQL单行函数和组函数详解 阅读

PL/SQL单行函数和组函数详解

 2006-12-30 11:58:51 来源:WEB开发网   
核心提示: update empset salary=(salary+bonus)*1.1这个语句中,雇员的工资和奖金都将更新为一个新的值,PL/SQL单行函数和组函数详解(2),但是如果没有奖金,即 salary + null,那么就会得出错误的结论,当没有发现需要的字符时返回0,如果i为负数,那么
update emp
set salary=(salary+bonus)*1.1

这个语句中,雇员的工资和奖金都将更新为一个新的值,但是如果没有奖金,即 salary + null,那么就会得出错误的结论,这个时候就要使用nvl函数来排除null值的影响。

所以正确的语句是:

update emp
set salary=(salary+nvl(bonus,0)*1.1
单行字符串函数

单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返回字符串

ASCII()

c1是一字符串,返回c1第一个字母的ASCII码,他的逆函数是CHR()

SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM emp
BIG_A BIG_z
65 122

CHR(<i>)[NCHAR_CS]

i是一个数字,函数返回十进制表示的字符

select CHR(65),CHR(122),CHR(223) FROM emp
CHR65 CHR122 CHR223
A z B

CONCAT(,)

c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同

select concat('slobo ','Svoboda') username from dual
username
slobo Syoboda

INITCAP()

c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。

select INITCAP('veni,vedi,vici') Ceasar from dual
Ceasar
Veni,Vedi,Vici

INSTR(,[,<i>[,]])

c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.

上一页  1 2 3 4 5 6 7  下一页

Tags:PL SQL 单行

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接