sql查询的条件更新

时间:2012-09-20 07:27:16

标签: sql sql-server

在我的代码中,我根据日期编写了更新查询。这意味着,我已经为工资单创建了一个应用程序,在那个月他们想要将月假添加为两个。如果是新的工作人员将两个分开。这是我通过代码完成的过程。现在他们想要更改模型,也就是说,如果新的加入约会日期已超过15天,则应该添加一天假。请帮我这样做。这是我用过的代码:

UPDATE tbl_emploeedetails
SET    elbal = elbal - 2
WHERE  employeestatus = 'L'
       AND ( Month(doj) = Month(Getdate()) - 1
             AND Year(doj) = Year(Getdate())
             AND Day(doj) > 25 )
        OR ( Month(doj) = Month(Getdate())
             AND Year(doj) = Year(Getdate()) )

这是月假添加查询:

update tbl_emploeedetails 
    set elbal = elbal + 2 where employeestatus = 'L' 

1 个答案:

答案 0 :(得分:1)

你可以使用这样的东西

UPDATE YourTable
SET UpdateColumn =
(CASE
     WHEN <Condition1> THEN <Expression1> 
     WHEN <Condition2> THEN <Expression2> 
     ELSE <Expression3> 
END)

示例:

UPDATE YourTable
SET UpdateColumn =
(CASE
     WHEN A>B THEN D * 2
     WHEN A>C THEN D * 3
     ELSE D * 4
END)