【SQL】0をNULLに置換する方法


本記事では、ORACLEデータベースのSQLで、0をNULLに置換する方法をサンプルを交えて詳しく解説をしております。

SELECT文のサンプルは↓で多数紹介していますので参考にしてください。
>>【SQL】SELECT文の書き方:サンプル多数あり

REPLACE関数の使い方

SQLで文字列を一括置換するときは、REPLACE関数を使います。

REPLACE関数の基本的な使い方は次の通りです。

SELECT REPLACE(変換対象の文字列式,置換前の文字列,置換後の文字列) FROM テーブル名;

SELECT文で0をNULLに置換する方法

SELECT文で、0をNULLに置換するときは、SELECT句に「REPLACE(カラム名,0,NULL)」と指定します。

次のSQLでは、TAB1テーブルのCOL1列の値が0のとき、NULLに置換しています。

SELECT REPLACE(col1,0,NULL) FROM tab1;

UPDATE文で0をNULLに置換する方法

UPDATE文で、0をNULLに置換するときは、SET句に「REPLACE(カラム名,0,NULL)」と指定します。

次のSQLでは、TAB1テーブルのCOL1列の値が0のとき、NULLに一括置換して更新しています。

UPDATE tab1 SET col1 = REPLACE(col1,0,NULL);

INSERT-SELECTで0をNULLに置換する方法

INSERT-SELECT文で、0をNULLに置換するときは、SELECT句に「REPLACE(カラム名,0,NULL)」と指定します。

次のSQLでは、TAB1テーブルのCOL1列の値が0のとき、NULLに置換してデータを登録しています。

INSERT INTO tab2
SELECT REPLACE(col1,0,NULL) FROM tab1;

まとめ

SQLで0をNULLに置換するにはREPLACE関数を使います。

REPLACE関数はSELECT句やSET句のほか、WHERE句で条件指定に使うこともできます。

この他にも、SELECT文には様々な機能や使い方があります。
詳しくは「【SQL】SELECT文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。