根据条件在SQL Server中乘法列

时间:2018-10-19 16:29:38

标签: sql sql-server

我想根据特定条件在SQL Server中增加一列。

这是桌子:

SubjectID    TestDate         TestResult
01           05/01/2010       65
02           06/02/2011       .85
03           07/03/2012       .95
04           08/04/2013       .75

如果TestResult列中的值在0.65和1之间,我想将它们乘以100;否则,我想将整数值保持在65到100之间。

我尝试了以下操作,但是对于.65和1之间的值,我只是得到了空值。

SELECT SubjectID, TestDate
         CASE WHEN TestResult  BETWEEN .65 AND 1 THEN TestResult *100
              WHEN TestResult BETWEEN 65 AND 100 THEN TestResult

         END AS TestResult
FROM     Table1

2 个答案:

答案 0 :(得分:0)

这个更通用的版本行得通吗?

SELECT SubjectID, TestDate,
       (CASE WHEN TestResult <= 1.0 THEN TestResult * 100
             WHEN TestResult < 100 THEN TestResult
        END) AS new_TestResult
FROM  Table1

答案 1 :(得分:0)

我认为使用<的{​​{1}},><=>= instad可能更简单。根据其类型,可能还需要将BETWEEN转换为十进制。

TestResult