Я написал выражение T-SQL, подобное этому (оригинал выглядит по-другому, но я хочу привести здесь простой пример):
SELECT first_name +
CASE last_name WHEN null THEN 'Max' ELSE 'Peter' END AS Name
FROM dbo.person
В этом заявлении нет синтаксических ошибок, но case-clause всегда выбирает ELSE-часть - также, если last_name равно null. Но почему?
Что я хочу сделать, так это объединить имя_имя и last_name, но если last_name равно null, все имя становится null:
SELECT first_name +
CASE last_name WHEN null THEN '' ELSE ' ' + last_name END AS Name
FROM dbo.person
Вы знаете, где проблема?