带有计算列的语法case语句

时间:2010-04-15 21:57:58

标签: case-statement operands

MS-SQL 2005中此查询的正确语法是什么?

select case app.NAMED_USER
 WHEN app.NAMED_USER > 50 AND app.NAMED_USER <=0 THEN 4 
 WHEN app.NAMED_USER > 500 THEN 9
 WHEN app.NAMED_USER > 500O THEN 12 
FROM APPLICATION app
 WHERE  app.NAME LIKE '%application 5%'

我在下面收到一条错误消息,我无法破译。我认为,它涉及变量类型或与操作数一起使用的语法。

我希望有人可以提供帮助。

问候,

海恩

1 个答案:

答案 0 :(得分:1)

我会这样做:

select 
 case 
  WHEN app.NAMED_USER > 50 AND app.NAMED_USER <=0 THEN 4  
  WHEN app.NAMED_USER > 500 THEN 9 
  WHEN app.NAMED_USER > 5000 THEN 12  
 end
FROM APPLICATION app 
 WHERE  app.NAME LIKE '%application 5%'

除此之外,app.NAMED_USER永远不会小于等于0且大于50.