我想根据特定条件在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
答案 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