[前][次][番号順一覧][スレッド一覧]

mysql:14717

From: chuuken kenkou <chuuken kenkou <ken_ken_1962@xxxxxxxxxx>>
Date: Tue, 20 Jan 2009 10:25:54 +0900
Subject: [mysql 14717] Re: sum関数のバージョンによる動作の違い


 
 
nullなのに、0を返していたというのが事実なら、MySQL 3.23.55に問題が
あったのではないでしょうか?
 
nullの場合に、0としたいなら、coalesce関数を使うのが簡単だと思います。
 
select sum(coalesce(id,0)) from tbl1;
 
 
なお、coalesce関数は、主要なRDBMSで、同じ機能で実装されています。> Date: Tue, 20 Jan 2009 10:17:07 +0900> From: akiro@xxxxxxxxxx> Subject: [mysql 14716] sum関数のバージョンによる動作の違い> To: ml@xxxxxxxxxx> >  いつもお世話になっています。>  mysqlを3.23から5.0に更新したときに、以下のトラブルに> 見舞われました。> > create table tbl1(id int);> insert into tbl1 values(null);> > としておいて、sumを取ると、> select sum(id) from tbl1;> > 3.23.55では0が返され、5.0.45ではnullが返されます。> > これは周知のことなのかどうか、> なにか別の違いから由来するものなのかどうか、> また、nullを計算から除外(0として計算)するのに> 簡単ないい方法があるのかどうか、> > 教えていただければ助かります。> > _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/> > 柴垣  akiro@xxxxxxxxxx> > _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/> > > 
_________________________________________________________________
【倖田來未特集】新曲からライブ映像、独占インタビューなど倖田來未満載
http://music.jp.msn.com/m-site/

添付ファイル

[前][次][番号順一覧][スレッド一覧]

     14716 2009-01-20 10:17 [柴垣 <akiro@xxxxxxxx] sum関数のバージョンによる動作の違い     
-> @ 14717 2009-01-20 10:25 ┣[chuuken kenkou <ken_]                                       
     14718 2009-01-20 10:44 ┣[Hideki SUNADA <hidek]                                       
     14719 2009-01-20 12:31 ┗[HIRATSUKA Sadao <hir]                                       
     14720 2009-01-20 13:28  ┗[柴垣 <akiro@xxxxxxxx]