当前位置: Oracle DBA培训网-优技培训 >> oracle培训 > Oracle培训教程 >

Oracle课程:nvl函数怎么使用

Oracle课程:nvl函数怎么使用

Oracle课程:nvl函数怎么使用?

1. NVL(x,value)

如果x为空,返回value,否则返回x。

案例7:对工资是2000元以下的员工,如果没有发奖金,每人奖金100元。

代码演示:NVL函数

SQL> SELECT ENAME,JOB,SAL,NVL(COMM,100) FROM EMP WHERE SAL<2000;

ENAME

JOB

SAL

NVL(COMM,100)

SMITH

CLERK

800

100

ALLEN

SALESMAN

1600

300

WARD

SALESMAN

1250

500

MARTIN

SALESMAN

1250

1400

TURNER

SALESMAN

1500

50

ADAMS

CLERK

1100

100

JAMES

CLERK

950

100

 

7 rows selected

2. NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2。

案例8:对EMP表中工资为2000元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元。

代码演示:NVL2函数

SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm"

  2  FROM EMP WHERE SAL<2000;

 ENAME

JOB

SAL

comm

SMITH

CLERK

800

200

ALLEN

SALESMAN

1600

400

WARD

SALESMAN

1250

600

MARTIN

SALESMAN

1250

1500

TURNER

SALESMAN

1500

150

ADAMS

CLERK

1100

200

JAMES

CLERK

950

200

MILLER

CLERK

1300

200

8 rows selected

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙