- ベストアンサー
四捨五入について
今、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を取得しようとすると構文エラーになります。 どうしたらいいのでしょうか? よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ROUND内の条件文を括弧に入れてください。 SELECT ROUND(( SELECT 0.2*(SLECT number FROM sample WHERE id =1))); これで構文上は通ると思います。
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
回答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 的に必須と思いますので、あって当然かと思います。