SQLでのNULL値の別の列への置換方法


  1. COALESCE関数を使用する方法: COALESCE関数は、複数の引数を受け取り、最初の非NULL値を返す関数です。これを使用して、NULL値を別の列の値で置換することができます。

    SELECT COALESCE(column1, column2) AS replaced_column
    FROM your_table;

    この例では、column1がNULLの場合はcolumn2の値が返されます。

  2. CASE文を使用する方法: CASE文を使用すると、条件に基づいて値を返すことができます。NULL値を別の列の値で置換するために、CASE文を使用することができます。

    SELECT
     CASE
       WHEN column1 IS NULL THEN column2
       ELSE column1
     END AS replaced_column
    FROM your_table;

    この例では、column1がNULLの場合はcolumn2の値が返され、それ以外の場合はcolumn1の値が返されます。

  3. NVL関数またはIFNULL関数を使用する方法 (特定のデータベースシステムのみ): 一部のデータベースシステムでは、NVL関数またはIFNULL関数を使用してNULL値を別の列の値で置換することができます。

    -- Oracleの場合 (NVL関数)
    SELECT NVL(column1, column2) AS replaced_column
    FROM your_table;
    -- MySQLの場合 (IFNULL関数)
    SELECT IFNULL(column1, column2) AS replaced_column
    FROM your_table;

    これらの関数は、column1がNULLの場合にcolumn2の値を返します。

これらは一般的な方法であり、データベースシステムによってはさまざまな方法があります。使用しているデータベースシステムのドキュメントを参照して、NULL値を別の列の値で置換するための適切な方法を見つけてください。