WEB开发网
开发学院数据库Oracle oracle易忘函数用法 阅读

oracle易忘函数用法

 2007-05-05 12:05:16 来源:WEB开发网   
核心提示: 2、NULL和单行函数在如何理解NULL上开始是很困难的,就算是一个很有经验的人依然对此感到困惑,oracle易忘函数用法(2),NULL值表示一个未知数据或者一个空值,算术操作符的任何一个操作数为NULL值,返回c1第一个字母的ASCII码,他的逆函数是CHR()SELECT ASCII

2、NULL和单行函数

在如何理解NULL上开始是很困难的,就算是一个很有经验的人依然对此感到困惑。NULL值表示一个未知数据或者一个空值,算术操作符的任何一个操作数为NULL值,结果均为提个NULL值,这个规则也适合很多函数,只有CONCAT,DECODE,DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL值。在这些中NVL函数时最重要的,因为他能直接处理NULL值,NVL有两个参数:NVL(x1,x2),x1和x2都式表达式,当x1为null时返回X2,否则返回x1。

下面我们看看emp数据表它包含了薪水、奖金两项,需要计算总的补偿。

column name emp_id salary bonuskey type pk nulls/unique nn,
u nnfk table datatype number number numberlength 11.2 11.2

不是简单的将薪水和奖金加起来就可以了,如果某一行是null值那么结果就将是null,比如下面的例子:

update empset salary=(salary+bonus)*1.1

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

所以正确的语句是:

update empset salary=(salary+nvl(bonus,0)*1.1

3、单行字符串函数

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

ASCII()

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

SELECT ASCII('A') BIG_A,ASCII('z') BIG_z FROM empBIG_A BIG_z65 122

CHR()[NCHAR_CS]

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

select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B

CONCAT(,)

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

Tags:oracle 易忘 函数

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