• ベストアンサー

round関数について

お世話になります。Sql初心者です。 round関数について質問があります。 double型のデータを少数点第一位までのデータを取得したいと思っています。 select round(double型の数値)ではデータが取得できますが、 double型のデータをselect round(double型の数値,1)という形で とするとエラーになってしまいます。 double型のデータをround関数で小数点指定で取得する場合は、どの様に 記述すればよいのでしょうか? どなたかご教授願えますでしょうか? 何卒よろしくお願いいたします。

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

  • ベストアンサー
  • yasumitu
  • ベストアンサー率100% (5/5)
回答No.1

postgresql 8.3.5のpsqlで \df roundとしてみると exam=> \df round List of functions Schema | Name | Result data type | Argument data types ------------+-------+------------------+--------------------- pg_catalog | round | double precision | double precision pg_catalog | round | numeric | numeric pg_catalog | round | numeric | numeric, integer (3 rows) round(実数、整数)の場合、実数の型はnumericを受け付けるようです。 なので、double型?のかわりにnumericを使うか x::numeric みたいにキャストしてみてはいかがでしょうか。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • round関数について

    試しにエクセルで次の計算をしてみてください。 -16.76 7.9 -11.45 -8.88 -1 4.26 33.78 以上を全部足します。つまり「=sum(a1:a7)」です。当然「7.85」になります。 次に四捨五入します。round関数で小数点第2位を四捨五入して、第1位まで表示させます。つまり、「=round(sum(a1:a7),1)」ということです。すると「7.8」を返しました。 ん?「7.9」なのでは?と思い、次にこんな計算をしてみました。 A・・・=round(sum(a1:a7),2) B・・・=round(A,1) つまり、Aでいったん小数点第3位を四捨五入させた上で、その値を今度はBで小数点第2位を四捨五入させ、最終的に小数点第1位まで表示させたわけです。すると、ちゃんと「7.9」を返しました。 なんでこんな風になるのでしょうか?どうして一発で「7.9」にならないのでしょうか?

  • SQLのROUND関数について

    SQLのROUND関数において 列の1つのデータに対してROUNDを行うのではなく、1つの列全体にROUNDを行うことはできますか?

    • ベストアンサー
    • MySQL
  • 関数 ROUNDとセルの書式設定

    こんにちは。 EXCEL初心者です。 関数について、ふと思ったことがありましたので質問させてください。 ROUNDとか*UPや*DOWNという関数がありますよね? 調べてみるとこの関数の行う処理は、「値を指定した位で四捨五入する関数です。消費税の計算など小数点以下の位を四捨五入する時などに使えます」とのことですが、この処理は、「セルの書式設定」→「数値」で出来る設定と同じような気がするのですが、なにか違うのでしょうか? よろしければ「こんな使い方もあるよ」的なことを紹介していただけるとうれしいです。

  • Round関数は四捨五入?

    あるサイトで・・・ ”多くのRound関数は、偶数丸めを採用しており、 丸め単位のまんなかで、どっちつかずの場合は、偶数側を採用する。” ということが書いてあるのを読みました。 しかし、SQL Server2000のクエリで select round(1.25,1) と実行すると 1.2ではなく1.3 が返ってくるので、四捨五入されている気がします。 厳密な四捨五入と異なる値が返ってくるパターンはどういう式でしょうか? それとも、SQL Server2000のRound関数は厳密な四捨五入なのでしょうか? ご存知の方がいたら教えてください。 よろしくお願いします。

  • エクセルの関数について

    こんにちは。 エクセル関数でわからないところがあるので、教えてください。 Round関数で、四捨五入の小数点以下の表示を切っています。 そうすると、その合計を取ると、実際は表示は小数点以下が 切れていても、元の数字は小数点が残っているので 合計を出した時に端数が合いません。 =IF(E5=0,"",G5) このG5に当たる個所が、Round関数が入っていて 合計が合いません。 ちなみにG5には、=ROUND(C6,2) こんな式が入っています。 C6の数値が小数点になっています。 分かる方、教えてください。よろしくお願いいたします。

  • 書式で小数点、Round関数

    書式で小数点以下の設定と、Round関数の違いは何ですか? どちらを使えばいいですか?

  • round 関数

    http://pcstory.blog40.fc2.com/blog-entry-172.htmlの round,rounddown,roundup 関数の求め方なのですが 元データを 表示形式 rounddown round roundupで処理しています。 具体的な求め方が分からない部分がありますので 教えてください。 表示形式部分は 568~775を選択し、右クリック、セルの書式設定 表示形式、数値、桁数を0にすると求められると思っています。 その下の round,rounddown,roundup 関数の具体的な求め方をお願いします。

  • AVERAGE関数では、小数点以下を切り上げてますよね。

    範囲指定した12個の数値を、AVERAGE関数で平均を出したら、小数点以下を切り上げて(四捨五入?)しまいました。 =AVERAGE(A1:A12) を小数点以下を切り捨てるにはどのように記述すれば良いのでしょうか。 教えてください。

  • ACCESSのRound関数について

    お世話になっております。 ACCESSのクエリでRound関数を使い、小数点以下を四捨五入した値を表示させようと思いましたが、なぜか 1876.5→1876 と表示されてしまいます。 同じ列のほかのセルはちゃんと四捨五入した値が表示され、5389.5 も 5390 のように表示されます。 どなたか思い当たる方原因を教えていただけますでしょうか。 よろしくお願いします。

  • round の使い方がわかりません。

    round を表計算の中で一度に使う使い方はどうすればいいのでしょうか? 一つの数値に対しての使い方しか分からず、表全体を一度に小数点以下第三位切り上げ・切捨ての方法を教えて下さい。 よろしくお願い致します。

大人の対応する人が大半【30字】
このQ&Aのポイント
  • 山手線の工事や運休による乗客の落胆や不満について、なぜ大人しくしているのか疑問を抱く。
  • 遅延運休によって電車に間に合わずに危篤の知らせを受けられない人の苦しみを考える。
  • 感情を爆発させたり、係員に怒りをぶつけることでスッキリしたいと思う。
回答を見る