我想在数学上使用测试结果来决定是否将值设置为不同的数字(如果它恰好为零或其他)。
例如,如果我发出类似这样的东西:SELECT(1 = 1)* 100 AS值我希望得到的结果为100或-100(后者是我记得Commodore Basic工作的方式)。但相反,我在等号上得到语法错误。有没有办法在MSSQL中执行此操作以简化我的查询?
你可以使用案例
SELECT (case when 1=1 then 1 else -1 end)* 100
您也可以使用iif
(仅适用于SQL Server 2012或更高版本)
SELECT iif(1=1,1 ,-1)* 100