0

我已经习惯了两个查询来将一列更新为 NULL:

update table_name 
set col1 = NULL
where col2 = 'MUTHU';

update table_name 
set col1 = ''
where col2 = 'MUTHU';

但是当我过去使用函数 NVL 进行查询时,我得到的两个查询结果相同。

select nvl(col1, 'value') from table_name;

我的问题是: NULL 和 '' 之间的“区别”和“使用”是什么?

4

2 回答 2

-1

一个区别是 null 通常会传播,因此如果您将 null 与另一个字符串连接:

create table t
(
  col1 varchar(10),
  col2 varchar(10),
  col3 varchar(10)
  );

insert into t values ( null, '', 'hello' ) ;

select 
 concat(col1 ,col3), 
 concat(col2 ,col3) 
from t

>> NULL, 'hello'
于 2013-07-01T09:11:01.903 回答
-1
于 2013-07-01T09:13:14.023 回答