#SQl#Number中的数字

时间:2015-08-27 16:47:45

标签: sql case

我希望执行以下声明并在分数介于1-10,11-20之间时将数字设为1,2 ... ...但是当我执行时,我将变为空... 之间没有任何建议?

          select   a.score  ,
                        CASE

          WHEN stg2.Stats = 'Existing'

          THEN
             CASE
             WHEN a.SCORE BETWEEN 1 AND 10 THEN 1
             WHEN a.SCORE BETWEEN 11 AND 20 THEN 2
                ..
                ..
                ..
                ...

               WHEN a.SCORE BETWEEN 81 AND 90 THEN 9
                WHEN a.SCORE BETWEEN 91 AND 100 THEN 10
             END
          ELSE
             NULL
       END
          score_num  

          FROM t1 stg2 
  LEFT OUTER JOIN t2  a
          ON     t1.KEY = t2.ACCNT_NUM

1 个答案:

答案 0 :(得分:2)

您可以将内部case语句简化为

(a.SCORE + 9) / 10