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

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

本記事では、SQL ServerにおけるCOALESCE関数の使い方について、具体的な構文とサンプルコードを交えながら詳しく解説します。NULL値の処理に欠かせないこの関数を、わかりやすい例とともにしっかりマスターしましょう。

COALESCE関数の概要

COALESCE関数は、引数として渡された複数の式の中から、最初にNULL以外の値を持つ式を返します。すべての式がNULLだった場合は、COALESCEはNULLを返します。

複数のカラムや値の中から「NULLでない最初の値」を取得したい場合に非常に便利な関数で、データのデフォルト値設定やフォールバック処理など、実務でも広く活用されています。

構文

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

COALESCE (式_1, 式_2, ... 式_n)

パラメータ

  1. 式_1, 式_2, ... 式_n:任意のデータ型の式を指定します。すべての式は同じデータ型であるか、共通のデータ型に変換可能である必要があります。たとえば、式_1が文字列型であれば、式_2から式_nも文字列型(または文字列型に変換できる型)である必要があります。同様に、式_1が数値型の場合は、残りの式も数値型である必要があります。

注意点

  1. COALESCE関数は、SQL Server 2017、SQL Server 2016、SQL Server 2014、SQL Server 2012、SQL Server 2008 R2、SQL Server 2008、SQL Server 2005以降のバージョンで使用できます。

使用例

それでは、SQL ServerにおけるCOALESCE関数の具体的な使用例を見ていきましょう。

例1:文字列の場合

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

この例では、最初の2つの式がNULLのため、3番目の式「TipsMake.com」が返されます。NULL以外の値が見つかった時点で、それ以降の式は評価されません。

例2:2番目の式が値を持つ場合

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

最初の式がNULLで、2番目の式がNULL以外の値を持つため、「TipsMake.com」が返されます。3番目の引数は評価されません。

例3:数値の場合

SELECT COALESCE(NULL, NULL, 1, 2, 3, NULL, 4);
-- 結果: 1

数値型の式でも同様に動作します。最初の2つの式がNULLのため、3番目の式「1」が結果として返されます。

まとめ

COALESCE関数を使いこなすことで、NULL値が含まれるデータを柔軟に処理できるようになります。特に、複数の候補カラムから有効な値を取得したい場面や、NULLをデフォルト値に置き換えたい場面で活躍する関数です。ぜひ実際のクエリで試してみてください。

  1. SQL ServerのIF...ELSE文とは?基本構文と実践例をわかりやすく解説

    他のプログラミング言語と同様に、SQL Serverでも条件分岐を行うためのIF...ELSEコマンドが用意されています。本記事では、IF...ELSE文の構文の使い方を、わかりやすい具体例とともに詳しく解説します。 概要 SQL ServerにおけるIF...ELSE文は、条件に応じて処理を分岐させるために使用されるステートメントです。条件がTRUE(真)と評価された場合は一方的な処理を実行し、FALSE(偽)と評価された場合には別の処理を実行します。 IF...ELSE文の構文 SQL ServerでIF...ELSEによる分岐処理を行うには、以下の構文に従って記述します。 IF 条件式{

  2. MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説

    SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ