SQL CASE WHEN或IF ELSE IF

问题描述:

我有多个条件的情况下 满足我想知道如果我可以使用> <,而不是界定每一个案件SQL CASE WHEN或IF ELSE IF

在这种情况下,当信用评级是小然后3然后,“否TRADE”将在

SELECT ClientId, 
    FirstName, 
    LastName, 
    Gender, 
    DateOfBirth, 
    CreditRating, 

     CASE CreditRating 

      WHEN 0 THEN 'NO TRADE' 
      WHEN 1 THEN 'NO TRADE' 
      WHEN 2 THEN 'NO TRADE' 
      WHEN 3 THEN 'POOR' 
      WHEN 4 THEN 'POOR' 
      WHEN 5 THEN 'AVARAGE' 
      WHEN 6 THEN 'AVARAGE' 
      WHEN 7 THEN 'GOOD' 
      ELSE 'PERFECT' 

      END AS RATING 

    FROM dbo.client 
+0

http://*.com/questions/5487892/sql-server-case-when-or-then-else-end-the-or-is-not-supported(用于SQL Server,它可能不同的SQL实现 - 确保添加适当的标记) – user2864740 2014-09-06 07:06:27

当然有可能插入在字 和更大然后3,更小,然后5将是“差”,等等等等。

 CASE 

     WHEN CreditRating <= 2 THEN 'NO TRADE' 
     WHEN CreditRating <= 4 THEN 'POOR' 
     WHEN CreditRating <= 6 THEN 'AVARAGE' 
     WHEN CreditRating = 7 THEN 'GOOD' 

     ELSE 'PERFECT' 

     END AS RATING 
+0

当CreditRating == 7 6那么'好'给SQL Server上的合成错误... – aleroot 2014-09-06 07:15:52

+0

当然这是可能的。 情况下,当企业资信 2014-09-06 07:20:56

+0

谢谢,所以看起来,如果遇到第一种情况,它会忽略所有其他情况。那很棒。谢谢 – 2014-09-06 07:21:05