如果满足某些条件,如何将多列设置为null?

时间:2016-03-02 20:09:26

标签: sql sql-server

我的表格有8列,Child0, Child1, Child2, Child3, Child4, Child5, Child6, Childx

如果Child0=Childx,则Child0=null其他Child0保持不变。同样的逻辑适用于Child1 - Child 6

我只能想到:

SELECT 
CASE 
    WHEN Child6=Childx then null 
    ELSE Child6
END AS CHILD6,
CASE 
    WHEN Child5=Childx then null 
    ELSE Child5
END AS CHILD5,
...
FROM TABLE

有一些简单的方法吗?

1 个答案:

答案 0 :(得分:6)

您可以使用NULLIF

SELECT NULLIF(Child0,Childx) Child0,
       NULLIF(Child6,Childx) Child6,
       ....
FROM dbo.YourTable