SQL Server CASE语句错误:'<'附近的语法不正确

时间:2011-08-15 10:09:40

标签: sql sql-server syntax case

我想转换:

  • 任何小于0到-1的数字。
  • 任何大于或等于0到1的数字。

我的陈述是:

SUM(CASE [Apr] WHEN ([Apr] < 0) THEN -1 WHEN ([Apr] >= 0) THEN 1 ELSE NULL END) as Apr

[Apr]是一个接受Null的int。

为什么这不起作用?

3 个答案:

答案 0 :(得分:8)

[Apr]进行比较后,CASE后移除WHEN

SUM(CASE WHEN ([Apr] < 0) THEN -1 WHEN ([Apr] >= 0) THEN 1 ELSE NULL END) as Apr

答案 1 :(得分:1)

在CASE之后摆脱[Apr]。

答案 2 :(得分:1)

SUM(CASE WHEN ([Apr] < 0) THEN -1 WHEN ([Apr] >= 0) THEN 1 ELSE NULL END) as Apr

案例

之后丢失[Apr]