10.Oracle数据库SQL开发之 理解空值

136 阅读1分钟

10.Oracle数据库SQL开发之 理解空值

        欢迎转载,转载请标明出处:blog.csdn.net/notbaron/ar…

 数据库使用特殊的值,空值(nullvalue)来表示未知的值。空值并不是一个空字符串,而是一个特殊的值。

例如:

SQL>select * from customers;

CUSTOMER_IDFIRST_NAME LAST_NAME  DOB     PHONE

----------- ---------- ---------- ---------------------

           1 John      Brown   01-JAN-65 800-555-1211

           2 Cynthia   Green     05-FEB-68 800-555-1212

           3 Steve     White     16-MAR-71 800-555-1213

           4 Gail      Black                  800-555-1214

           5 Doreen    Blue       20-MAY-70

可以使用IS NULL子句来检查空值。

例如:

SQL>select customer_id,first_name,last_name,dob from customers where dob is null;

CUSTOMER_IDFIRST_NAME LAST_NAME  DOB

----------- ---------- ---------- ---------

           4 Gail      Black

         空值不会显示任何内容,区分空值和空字符串需要通过ORACLE内置的函数NVL()来实现。输入有两个参数,如果第一个参数为空,那么使用第二个参数。

SQL>select customer_id,first_name,last_name,nvl(phone,'Unkown phone number') asphone_number from customers;

 

CUSTOMER_IDFIRST_NAME LAST_NAME  PHONE_NUMBER

----------- ---------- -----------------------------

           1 John      Brown   800-555-1211

           2 Cynthia   Green     800-555-1212

           3 Steve     White     800-555-1213

           4 Gail      Black       800-555-1214

           5 Doreen    Blue       Unkown phone number