SQL Server Inline CASE КОГДА ISNULL и несколько проверок - PullRequest
5 голосов
/ 10 мая 2011

У меня есть столбец с некоторыми нулями. Если этот столбец пуст, я хочу подготовить вывод для него на основе значений в другом столбце.

То есть if case when null (if c=80 then 'planb'; else if c=90 then 'planc')

Как бы вы написали это во встроенном выражении T-SQL?

спасибо.

Ответы [ 2 ]

12 голосов
/ 10 мая 2011
COALESCE(YourColumn, CASE c WHEN 80 then 'planb' WHEN 90 THEN 'planc' END)
4 голосов
/ 10 мая 2011

Вы также можете использовать вложенный оператор case.Предполагая, что первый столбец называется DataColumn.

CASE 
  WHEN DataColumn IS NULL THEN 
    CASE c 
      WHEN 80 THEN 'planb' 
      WHEN 90 THEN 'planc' 
      ELSE 'no plan' 
    END 
  ELSE DataColumn 
END
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...