【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文の書き方:サンプル多数あり」で解説していますのでぜひ参考にしてください。