SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのISNULL関数とは?構文と使い方を実例付きで解説

SQL Serverには、NULL値を扱うための便利な関数が多数用意されています。その中でもISNULL関数は、入力された式がNULLの場合に代替値を返すことができる、データベース開発で頻繁に使われる重要な関数です。この記事では、ISNULL関数の基本的な仕組みから構文、具体的な使用例まで、わかりやすく詳しく解説していきます。

ISNULL関数の概要

ISNULL関数は、指定した式がNULLであるかどうかを判定し、NULLだった場合に代わりの値を返す関数です。式がNULLでない場合は、元の式の値がそのまま返されます。

例えば、テーブルのカラムにNULLが含まれている場合に、表示用のデフォルト値に置き換えたいときなどに活躍します。NULLのまま計算や文字列連結を行うと意図しない結果になることがあるため、そうしたトラブルを防ぐ目的でも広く利用されています。

ISNULL関数の構文

SQL ServerでISNULL関数を使用する場合、以下の構文に従います。

ISNULL(check_expression, replacement_value)

パラメータの説明

  1. check_expression(チェック対象の式):NULLかどうかを判定したい任意の式を指定します。カラム名、変数、計算式などが使用できます。
  2. replacement_value(代替値)check_expressionがNULLだった場合に返される値です。check_expressionと同じデータ型である必要がある点に注意してください。

動作のポイント

  1. 式がNULLの場合:ISNULL関数は代替値(replacement_value)を返します。
  2. 式がNULLでない場合:ISNULL関数は元の式(check_expression)の値をそのまま返します。
  3. 対応バージョン:SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005以降のバージョンで使用できます。

ISNULL関数の使用例

それでは、実際のコード例を見ながらISNULL関数の動作を確認してみましょう。

SELECT ISNULL(NULL, 'TipsMake.com');
-- 結果: 'TipsMake.com'

SELECT ISNULL('TipsMake.com', 'QuanTriMang');
-- 結果: 'TipsMake.com'

SELECT ISNULL(NULL, 45);
-- 結果: 45

SELECT ISNULL(12, 45);
-- 結果: 12

SELECT ISNULL(NULL, '2019-05-01');
-- 結果: '2019-05-01'

SELECT ISNULL('2019-04-30', '2019-05-01');
-- 結果: '2019-04-30'

実行結果の解説

  • 1つ目の例:第1引数がNULLのため、代替値である「TipsMake.com」が返されます。
  • 2つ目の例:第1引数がNULLではないため、元の値「TipsMake.com」がそのまま返されます。
  • 3つ目と4つ目の例:数値に対しても同様に動作し、NULLなら45、NULLでなければ12が返されます。
  • 5つ目と6つ目の例:日付形式の文字列でも同じように機能することがわかります。

このように、ISNULL関数を使えばNULL値を適切なデフォルト値に置き換えることができ、クエリの結果をより安定したものにできます。特にレポート作成やデータ集計の場面では、NULLによる予期しないエラーを防ぐためにぜひ活用してみてください。

  1. 【SQL Server】AVG関数の使い方を徹底解説!基本構文から実用例まで

    本記事では、SQL Serverにおける数値処理関数「AVG」の使い方を、基本構文と具体的な使用例を交えて詳しく解説します。AVG関数の動作を正しく理解し、実務のデータ集計に活かせるようにしましょう。 AVG関数とは AVG関数は、SQL Serverにおいて式の平均値、または選択された行のうち指定した列の平均値を返す集計関数です。なお、NULLの値は自動的に除外され、平均の計算対象には含まれません。 基本構文 平均値を計算するには、SQL ServerでAVG関数を次のように記述します。 SELECT AVG(列名)FROM テーブル名[WHERE 条件]; パラメータの説明: 列名:平均

  2. SQL ServerのCOUNT関数とは?基本構文からDISTINCT・GROUP BYの活用まで徹底解説

    この記事では、SQL ServerのCOUNT関数の使い方について、具体的な構文と実行例を挙げながら詳しく解説します。COUNT関数はデータベース操作で最も頻繁に使われる集計関数の一つです。基本をしっかり押さえておくことで、日々のデータ分析やシステム開発に大きく役立ちます。 COUNT関数とは COUNT関数は、SQL Serverにおいてテーブル内のレコード(行)の件数を数えるために使用される集計関数です。重要なポイントとして、NULLが含まれる値はカウントの対象から除外されるという特性があります。 基本構文 SQL ServerでCOUNT関数を使用する際は、以下の構文を使用します。