当前位置:  开发笔记 > 编程语言 > 正文

有条件地替换SELECT中的值

如何解决《有条件地替换SELECT中的值》经验,为你挑选了1个好方法。

我有一个查询返回给定员工的工资成本

SELECT     totalhours * staffbaserate AS TotalCost
FROM         newrotaRaw
WHERE     staffref = @staffref

但是如果返回值> 105,我需要做一些额外的数学运算.我需要做的数学运算是,如果值<105,则返回原值,但是如果值大于105,那么我需要做值*1.128.

例如:

约翰史密斯的成本是90,因此查询应该返回90

David Smith的成本为140因此查询应返回157.92

我确定有一些方法可以使用replace来让它做我想要的但是我只使用了替换完全匹配,在这种情况下,替换是以值为条件的.

任何帮助将非常感激!



1> John Sansom..:

尝试这样的事情.

SELECT     TotalCost = 
    CASE
        WHEN (totalhours * staffbaserate) < 105 THEN (totalhours * staffbaserate)
        ELSE (totalhours * staffbaserate) * 1.128
    END
FROM         newrotaRaw
WHERE     staffref = @staffref

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有