(七)修改上一条SQL语句,NULL值的滤空函数nvl

修改上一条SQL语句

1.用c命令来修改(c 即 change

默认,光标闪烁位置指向上一条SQL语句的第一行。输入二则定位到第二行。

c /错误的关键字/正确的关键字

SQL> select empno,ename,sal,sal*12 form emp;
select empno,ename,sal,sal*12 form emp
                                   *1 行出现错误:
ORA-00923: 未找到要求的 FROM 关键字


SQL> c form/from;
SP2-0023: 未找到字符串
SQL> c /form/from;
  1* select empno,ename,sal,sal*12 from emp
SQL> /

     EMPNO ENAME             SAL     SAL*12
---------- ---------- ---------- ----------
      7369 SMITH             800       9600
      7499 ALLEN            1600      19200
      7521 WARD             1250      15000
      7566 JONES            2975      35700
      7654 MARTIN           1250      15000
      7698 BLAKE            2850      34200
      7782 CLARK            2450      29400
      7788 SCOTT            3000      36000
      7839 KING             5000      60000
      7844 TURNER           1500      18000
      7876 ADAMS            1100      13200

     EMPNO ENAME             SAL     SAL*12
---------- ---------- ---------- ----------
      7900 JAMES             950      11400
      7902 FORD             3000      36000
      7934 MILLER           1300      15600

已选择14行。

SQL>

2.使用ed命令来修改 edit

ed 弹出系统默认的文本编辑器 (如:记事本)

修改,保存,退出,执行“ / ”

NULL 值问题

1.包含null值的表达式都为空

2.null != null;

滤空函数nvl(a,b),如果 a 为 null 则返回 b

SQL> select ename,sal+comm from emp;

ENAME        SAL+COMM
---------- ----------
SMITH
ALLEN            1900
WARD             1750
JONES
MARTIN           2650
BLAKE
CLARK
SCOTT
KING
TURNER           1500
ADAMS
JAMES
FORD
MILLER

已选择14行。

SQL> ed
已写入 file afiedt.buf

  1* select ename,sal+nvl(comm,0) from emp
SQL> /

ENAME      SAL+NVL(COMM,0)
---------- ---------------
SMITH                  800
ALLEN                 1900
WARD                  1750
JONES                 2975
MARTIN                2650
BLAKE                 2850
CLARK                 2450
SCOTT                 3000
KING                  5000
TURNER                1500
ADAMS                 1100
JAMES                  950
FORD                  3000
MILLER                1300

已选择14行。
原文地址:https://www.cnblogs.com/xiangtingshen/p/10706280.html