SQL Server内联CASE WHEN ISNULL和多次检查

时间:2011-05-09 22:03:04

标签: sql sql-server if-statement case

我有一些带有一些空值的列。如果该列为null,我想根据另一列中的值来调整输出。

所以if case when null (if c=80 then 'planb'; else if c=90 then 'planc')

您如何在内联T-SQL语句中编写代码?

感谢。

2 个答案:

答案 0 :(得分:12)

COALESCE(YourColumn, CASE c WHEN 80 then 'planb' WHEN 90 THEN 'planc' END)

答案 1 :(得分:4)

您还可以使用嵌套的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