📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

ページの作成:「== 概要 == COALESCE関数は、引数として渡された値の中から最初の非NULL値を返す関数である。<br> <br> この関数はNULLをデフォルト値に置き換えることができるため、複数の列から最初の有効な値を取得あるいはレポート作成時にNULLを見やすい表示に変換することができる。<br> <br> <u>※注意</u><br> <u>全ての引数がNULLの場合は、NULLを返す。</u><br> <u>引数の…」
 
編集の要約なし
1行目: 1行目:
== 概要 ==
== 概要 ==
COALESCE関数は、引数として渡された値の中から最初の非NULL値を返す関数である。<br>
COALESCE関数は、引数として渡された値の中から最初の非NULL値を返す関数である。<br>
COALESCE関数はSQL標準の関数であり、主要なRDBMSで同じように使用できるため、MySQL、SQL Server、PostgreSQL、Oracle等で共通して使用できる。<br>
<br>
<br>
この関数はNULLをデフォルト値に置き換えることができるため、複数の列から最初の有効な値を取得あるいはレポート作成時にNULLを見やすい表示に変換することができる。<br>
この関数はNULLをデフォルト値に置き換えることができるため、複数の列から最初の有効な値を取得あるいはレポート作成時にNULLを見やすい表示に変換することができる。<br>
11行目: 12行目:
== 基本構文 ==
== 基本構文 ==
  <syntaxhighlight lang="mysql">
  <syntaxhighlight lang="mysql">
  COALESCE(value1, value2, value3, ...)
  COALESCE(<値1>, <値2>, <値3>, ...)
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
34行目: 35行目:
  SELECT name, phone_number1, phone_number2, COALESCE(phone_number1, phone_number2, '連絡先なし') as contact
  SELECT name, phone_number1, phone_number2, COALESCE(phone_number1, phone_number2, '連絡先なし') as contact
  FROM customers;
  FROM customers;
</syntaxhighlight>
<br><br>
== IFNULL関数 (MySQL) ==
MySQLには、IFNULL関数のような独自の代替関数もある。<br>
ただし、2つの引数のみしか指定できない。<br>
<br>
<syntaxhighlight lang="mysql">
-- MySQLの独自関数
IFNULL(<値1>, <値2>)  -- 2つの引数のみ
-- または
IF(<条件>, <値1>, <値2>)
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>