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

【SQL Server】NULLIF関数の使い方を徹底解説!構文と実行例つき

この記事では、SQL ServerにおけるNULLIF関数の基本的な使い方を、構文と具体例とともにわかりやすく解説します。NULLIF関数を正しく理解することで、データ比較処理やNULL値の扱いがより柔軟になります。

NULLIF関数とは

NULLIF関数は、渡された2つの式を比較する関数です。最初の式と2番目の式が等しい場合にはNULLを返し、等しくない場合には最初の式(expression1)の値をそのまま返します。

この関数は、特定の値をNULLとして扱いたい場合などに便利で、後述するように0除算の回避などの実務的な用途にも活用できます。

構文

SQL ServerでNULLIFを使用する際の基本構文は以下の通りです。

NULLIF(式1, 式2)

パラメータ

  1. 式1、式2: 比較対象となる式です。両方の式は同じデータ型である必要があります。

注意点

  • NULLIF関数は、SQL Server 2017、2016、2014、2012、2008 R2、2008、2005以降のバージョンで使用できます。
  • 式1がNULLの場合、NULLIFは常にNULLを返します。

使用例

それでは、実際のクエリを見ながらNULLIF関数の動作を確認してみましょう。

SELECT NULLIF('TipsMake.com', 'TipsMake.com');
-- 結果:NULL(値が等しいためNULLを返す)

SELECT NULLIF('TipsMake.com', 'QuanTriMang');
-- 結果:'TipsMake.com'(値が異なるため最初の値を返す)

SELECT NULLIF(12, 12);
-- 結果:NULL(値が等しいためNULLを返す)

SELECT NULLIF(12, 45);
-- 結果:12(値が異なるため最初の値を返す)

SELECT NULLIF('2019-05-01', '2019-05-01');
-- 結果:NULL(日付が等しいためNULLを返す)

SELECT NULLIF('2019-05-01', '2019-04-30');
-- 結果:'2019-05-01'(日付が異なるため最初の値を返す)

このように、NULLIF関数は「2つの値が一致したらNULLに置き換える」というシンプルなルールで動作します。

応用例:0除算の回避

NULLIF関数は、割り算の分母が0になるのを防ぐためによく使われます。以下のように記述すると、分母が0の場合にNULLを返し、エラーを回避できます。

SELECT 数量 / NULLIF(在庫, 0) FROM 在庫テーブル;

このようにNULLIFを組み合わせることで、安全な計算処理を実現できます。日常的なデータベース操作において非常に有用な関数なので、ぜひ活用してみてください。

  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関数を使用する際は、以下の構文を使用します。