denise28

做不成学术帝,就一辈子做吃货~
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

SQL-COALESCE()

Posted on 2011-12-21 16:00  denise28  阅读(276)  评论(0编辑  收藏  举报
create table test_table(
IDNUM NUMBER,
CAT VARCHAR2(200),
PRICE NUMBER
);
INSERT INTO test_table VALUES(1,'',10);
INSERT INTO test_table VALUES(2,'cat1',10);
INSERT INTO test_table VALUES(3,'cat1',3);
INSERT INTO test_table VALUES(4,'cat2',11);
INSERT INTO test_table VALUES(5,'cat2',10);
INSERT INTO test_table VALUES(6,'',10);
select
COALESCE(CAT,'unknown'),
SUM(PRICE)from test_table GROUP BY CAT;

result:

COALESCE(CAT,'UNKNOWN')     SUM(PRICE)
  unknown                                  20
  cat1                                         13
  cat2                                         21

注意:COALESCE 与 ISNULL相比,COALESCE 类似case,可以多个input,ISNULL只有2个parameter

COALESCE不能完成类型的转换,否则报错

 

参考 http://msdn.microsoft.com/en-us/library/ms190349.aspx