[pgsql-jp: 28439] Re: 四則演算の結果

Norio Kikuta kikuta.norio @ nifty.ne.jp
2002年 12月 24日 (火) 11:40:48 JST


ありがとうございました。

実数でキャストされる場合は結果が実数で返され、
s.商品別総数量、s.卸単価、kei.総計の場合は、ゼロに100をかけてもゼロと
言うことになるのですね。


----- Original Message ----- 
From: "Keiji Mitsubuchi" <keiji @ nwco.com>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Tuesday, December 24, 2002 11:31 AM
Subject: [pgsql-jp: 28437] Re: 四則演算の結果


> 三淵です。
> 
> 見当違いかもしれませんが
> s.商品別総数量、s.卸単価、kei.総計
> が、整数値だと
>  s.商品別総数量 * s.卸単価 / kei.総計 は
> ゼロになってしまうのでは?
> s.商品別総数量 * s.卸単価 * 100.0 では
> キャスティングされて
> 実数値になるとか?
> 
> 試していないので、推測ですが
> Cだと確かそうだったような
> 
> 間違ってたら、申し訳ありません。
> 
> 
> ----- Original Message -----
> From: "Norio Kikuta" <kikuta.norio @ nifty.ne.jp>
> To: <pgsql-jp @ ml.postgresql.jp>
> Sent: Tuesday, December 24, 2002 11:03 AM
> Subject: [pgsql-jp: 28435] 四則演算の結果
> 
> 
> > PostgreSQL初心者です。
> > PostgreSQLのバージョンは7.2.3です。
> >
> > 下記のような計算を行ったとき、例1と例2で値が違ってくるのはなぜでしょうか。
> > 商品別総数量、卸単価は整数で定義しています。
> > このとき、例1では計算結果が実数で表示されますが、例2では全てゼロと表示され
> てしまいます。
> >
> > s.商品別総数量 * s.卸単価 * 100.0 / kei.総計・・・正しい値が返される
> > s.商品別総数量 * s.卸単価 / kei.総計 * 100.0・・・ゼロの結果が返される
> >
> > 例1
> > select s.商品名,
> >        s.商品別総数量 * s.卸単価 as "卸単価",
> >        s.商品別総数量 * s.卸単価 * 100.0 / kei.総計 as "%"
> > from (
> >        select sum(a.数量 * b.卸単価) as "総計"
> >        from 売上データ a, 商品マスタ b
> >        where a.商品id = b.商品id
> >      ) kei,
> >      (
> >        select b.商品id, b.商品名, b.卸単価, sum(a.数量) as "商品別総数量"
> >        from 売上データ a, 商品マスタ b
> >        where a.商品id = b.商品id
> >        group by b.商品id, b.商品名, b.卸単価
> >      ) s;
> >
> > 例2
> > select s.商品名,
> >        s.商品別総数量 * s.卸単価 as "卸単価",
> >        s.商品別総数量 * s.卸単価 / kei.総計 * 100.0  as "%"
> > from (
> >        select sum(a.数量 * b.卸単価) as "総計"
> >        from 売上データ a, 商品マスタ b
> >        where a.商品id = b.商品id
> >      ) kei,
> >      (
> >        select b.商品id, b.商品名, b.卸単価, sum(a.数量) as "商品別総数量"
> >        from 売上データ a, 商品マスタ b
> >        where a.商品id = b.商品id
> >        group by b.商品id, b.商品名, b.卸単価
> >      ) s;
> >
> >
> > ********************************
> > Norio Kikuta
> > E-Mail ; kikuta.norio @ nifty.ne.jp
> > ********************************
> >
> 
> 




pgsql-jp メーリングリストの案内