SQL Server 引数内のnull以外の最初の値を返す

SQL Server 引数内のnull以外の最初の値を返す

SQL Serverで、引数内のnull以外の最初の値を返す手順を記述してます。

環境

  • OS windows10 pro
  • SQL server 2019
  • SSMS 18.7.1

null以外の最初の値を返す

引数に指定した値のうち、null以外に最初に見つかった値を返す場合は、「CAST」を使用します。

COALESCE(値,[値],[値]...)

実際に、使用してみます。

DECLARE @c1 NVARCHAR(20) = NULL
DECLARE @c2 NVARCHAR(20) = 'a'
DECLARE @c3 NVARCHAR(20) = 'b'

SELECT  COALESCE(@c1,@c2,@c3)

実行結果

最初にみつかったnull以外の値である「a」が表示されていることが確認できます。

2つ目の引数である「@c2」もnullにしてみます。

DECLARE @c1 NVARCHAR(20) = NULL
DECLARE @c2 NVARCHAR(20) = NULL
DECLARE @c3 NVARCHAR(20) = 'b'

SELECT  COALESCE(@c1,@c2,@c3)

実行結果

今度は、最初にみつかったnull以外の値である「b」が表示されていることが確認できます。