• ベストアンサー

四捨五入について

今、SELECT文で取得した値をround()を使って四捨五入したいのですが、構文エラーになります。 SELECT ROUND( SELECT 0.2*(SLECT number FROM sample WHERE id =1) ); ROUND()内のSELECT 0.2*(SLECT number FROM sample WHERE id =1) で、値が12,6のように返ってきます。 しかし、round()で四捨五入して13を取得しようとすると構文エラーになります。 どうしたらいいのでしょうか? よろしくお願い致します。

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

  • ベストアンサー
  • Leigong
  • ベストアンサー率66% (2/3)
回答No.1

ROUND内の条件文を括弧に入れてください。 SELECT ROUND(( SELECT 0.2*(SLECT number FROM sample WHERE id =1))); これで構文上は通ると思います。

その他の回答 (2)

回答No.3

select round(0.2*number) from sample where id=1 とすればいいだけでは?

  • ffffffff
  • ベストアンサー率35% (68/194)
回答No.2

 あくまで、構文の構成を見ての推論です。 SELECT ROUND( SELECT 0.2*(SELECT number FROM sample WHERE id =1) ); の 2 番目の SELECT が不要のような気がしますが。3 番目の SELECT で数値を取得して、それに 0.2 を掛けるだけの処理ですので。最初 の SELECT は、SQL 的に必須と思いますので、あって当然かと思います。

関連するQ&A