NULL値をあつかうNVLについてはじめに
NVL
関数は、指定された式がNULLである場合に代替の値を返すことができます。
この関数は、特に数値や文字列のデータ型に対して有用になります。
NVLの基本構文と使用例
NVL関数の基本的な構文
NVL(expression, replacement_value)
expression
: 評価したい式やカラムです。replacement_value
: もしexpression
がNULLの場合に代わりに返される値です。
NVL
関数の動作は、以下のようになります。
- もし
expression
がNULLでない場合、expression
の値が返されます。 - もし
expression
がNULLの場合、replacement_value
の値が返されます。
NVL関数の具体例
以下は、テーブルemployees
において、salary
カラムがNULLである場合に代わりに0を表示するSQLクエリの例です。
SELECT NVL(salary, 0) AS adjusted_salary
FROM employees
このクエリでは、salary
がNULLである場合にadjusted_salary
という名前のカラムに0が表示されます。NULLでない場合は、元のsalary
の値が表示されます。
他のデータベース管理システム(DBMS)では、NVL
の代わりに異なる関数が使用されることがあります。
例えば、MySQLではCOALESCE
関数が同様の機能を提供します!
参考にCOALESCE
関数についても解説いたします。
「プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!
NULLの代替値を複数指定できるCOALESCE
SQLにおいて複数の式(またはカラム)のうち、最初にNULLでない値を返す関数です。COALESCE
関数は、主にNULL値の代替値を指定するために使用されます。
NVL
と同様に、主にOracle Databaseで使われる関数ですが、他のデータベース管理システム(DBMS)でも一般的にサポートされています。
COALESCE関数の基本的な構文と具体例
COALESCEの基本構文
COALESCE(expression1, expression2, expression3, ..., replacement_value)
expression1
,expression2
,expression3
, …: 評価したい式やカラムのリストです。replacement_value
: もしすべてのexpression
がNULLの場合に代わりに返される値です。
COALESCE
関数の動作は、以下のようになります。
expression1
がNULLでない場合、expression1
の値が返されます。expression1
がNULLであり、expression2
がNULLでない場合、expression2
の値が返されます。- それ以降も同様に、
expression1
,expression2
,expression3
, …expression
の順に評価し、最初にNULLでない値が見つかった場合、その値が返されます。 - もしすべての
expression
がNULLである場合、replacement_value
の値が返されます。
COALESCEの具体例
以下は、テーブルemployees
において、salary
カラムがNULLである場合に代わりにbonus
カラムの値を表示するSQLクエリの例です。
SELECT COALESCE(salary, bonus, 0) AS adjusted_salary
FROM employees
このクエリでは、salary
がNULLでない場合はsalary
の値が表示され、NULLである場合はbonus
の値が表示されます。さらに、bonus
もNULLである場合は0が表示されます。
COALESCE
は、NVL
とは異なり、複数の式を順番に評価することができる点が異なります。これにより、より柔軟に複数の代替値を扱うことができます。ただし、DBMSによってはNVL
の方が使われることがあるので、使用するデータベースに合わせて適切な関数を選択してください。
SQL参考本
SQL学び始めの時はこちらの本を参考にしていました。
DBやテーブルの構造から、よく使う関数などがまとめられています。基礎を身につけたい方におススメです。
NULL値をあつかうNVLまとめ
以上が、値がNULLの場合に代替値を返すことができるNVL関数となります。
NULLの値を任意の値で埋めたい際に有用となります。
また、複数要素を指定しNULLでない値から返すことのできるCOALESCE関数も似たケースの際に有用となります。
SQL文法関連記事
そのほか、SQL関連記事をこちらにまとめておりますのでご参考ください。
> Coffee Tech Blog SQL関連記事
もしIT業界への転職でお困りでしたら、下記サービスのご活用をご検討ください!
私は転職の際にGeeklyを活用させて頂き、ご縁を頂くことができました。
参考になれば幸いです☕
コメント