如何使用CASE语句分配NULL值?

时间:2012-01-10 19:21:21

标签: sql sql-server-2008

我正在尝试使用CASE语句在另一个字段为NULL时分配NULL值。

到目前为止,这是我得到的:

UPDATE PunchintervalFinal
SET    INDTTIME_LUNCH = (SELECT CASE
                                  WHEN PunchintervalFinal.INDTTIME2 IS NULL THEN
                                  NULL
                                END
                         FROM   PUNCHBRIDGE A
                         WHERE  A.EMPLOYEE = PunchintervalFinal.EMPLOYEE
                                AND A.PUNCHDATE = PunchintervalFinal.PUNCHDATE
                                AND PunchintervalFinal.EMPLOYEE = '500018')  

1 个答案:

答案 0 :(得分:2)

这应该做你想做的事情:

UPDATE PunchintervalFinal
SET    INDTTIME_LUNCH = NULL
FROM PunchintervalFinal
     INNER JOIN PUNCHBRIDGE A ON A.EMPLOYEE = PunchintervalFinal.EMPLOYEE
WHERE PunchintervalFinal.EMPLOYEE = '500018' 
  AND A.PUNCHDATE = PunchintervalFinal.PUNCHDATE
  AND PunchintervalFinal.INDTTIME2 IS NULL