日期:2014-05-19  浏览次数:20641 次

case问题
小弟初学sql。理解能力比较差,在联机丛书里看到了有关case语句的解释,可是怎么也看不懂,于是就想对照着例子理解,可是例子也看不懂。
谁能告诉我下面这句话是什么意思?   谢谢大家了!
USE   pubs
GO
SELECT         'Price   Category '   =  
            CASE  
                  WHEN   price   IS   NULL   THEN   'Not   yet   priced '
                  WHEN   price   <   10   THEN   'Very   Reasonable   Title '
                  WHEN   price   > =   10   and   price   <   20   THEN   'Coffee   Table   Title '
                  ELSE   'Expensive   book! '
            END,
      CAST(title   AS   varchar(20))   AS   'Shortened   Title '
FROM   titles
ORDER   BY   price
GO


------解决方案--------------------
IS NULL当price 为空是显示为.... 'Not yet priced '


when 条件满足 then 显示结果
------解决方案--------------------
如果price为空就显示Not yet priced
如果price <10就显示Very Reasonable Title
如果price> =10并且 <20就显示Coffee Table Title

如果不符合以上条件就显示Expensive book!
------解决方案--------------------
'Price Category ' 列的值根据Price值显示
'Not yet priced '或者 'Very Reasonable Title '或者 'Coffee Table Title '或者 'Expensive book! '