T-SQL CASE句: WHEN NULLを指定する方法 質問する

T-SQL CASE句: WHEN NULLを指定する方法 質問する

私は次のような T-SQL ステートメントを作成しました (元のステートメントは異なっていますが、ここでは簡単な例を示します)。

SELECT first_name + 
    CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name
FROM dbo.person

このステートメントには構文エラーはありませんが、case 節では last_name が null の場合でも常に ELSE 部分が選択されます。なぜでしょうか?

私がやりたいのは first_name と last_name を結合することですが、last_name が null の場合、名前全体が null になります。

SELECT first_name +
   CASE last_name WHEN null THEN '' ELSE ' ' + last_name END AS Name 
FROM dbo.person

どこに問題があるかご存知ですか?

ベストアンサー1

CASE WHEN last_name IS NULL THEN '' ELSE ' '+last_name END

おすすめ記事