0

在我的代码中,我根据日期编写了一个更新查询。这意味着,我创建了一个工资单应用程序,在那个月里,他们想将月假加为两个。如果是新加入者,将两者分开。这是我通过代码完成的过程。现在他们想改变模型,即如果新的加入者加入日期已经大于15天,则应该增加1天的假期。请帮助我做到这一点。这是我使用之前的代码:

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' 
4

1 回答 1

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)
于 2012-09-20T08:10:18.527 回答