0

1 つの列を NULL として更新するために 2 つのクエリを使用しました。

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

違いの 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 に答える