• ベストアンサー

平均値のもとめ方

日数の平均を取得したいのですが、小数点の値が戻ってきません。どうしてでしょうか? select avg(datediff(y,A_date,B_date)) from TABLE ●欲しいデータ 1.5 = 3(日間) ÷ 2(レコード) ●データ内容 SQL> select A_date,B_date from TABLE; A_date,B_date ---------- 2005/07/01 2005/07/02 2005/07/01 2005/07/03

質問者が選んだベストアンサー

  • ベストアンサー
  • xcrOSgS2wY
  • ベストアンサー率50% (1006/1985)
回答No.1

整数にavgを適用すると整数で返すからです。 avgの対象を浮動小数点数に変換しておけば浮動小数点数で値が返ります。 select a from test select avg(a) from test select avg(a+0.0) from test 【結果】 a ----------- 1 1 1 1 2 ----------- 1 ------------------------------------------ 1.200000 ということです。

nyanaaaa
質問者

お礼

ありがとうございます。 出来ました! 浮動小数点にするってことが出来るのですね。

関連するQ&A