dポイントプレゼントキャンペーン実施中!

今、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を取得しようとすると構文エラーになります。
どうしたらいいのでしょうか?
よろしくお願い致します。

A 回答 (3件)

ROUND内の条件文を括弧に入れてください。



SELECT ROUND(( SELECT 0.2*(SLECT number FROM sample WHERE id =1)));

これで構文上は通ると思います。
    • good
    • 0

select round(0.2*number) from sample where id=1



とすればいいだけでは?
    • good
    • 0

 あくまで、構文の構成を見ての推論です。



SELECT ROUND( SELECT 0.2*(SELECT number FROM sample WHERE id =1) );

の 2 番目の SELECT が不要のような気がしますが。3 番目の SELECT で数値を取得して、それに 0.2 を掛けるだけの処理ですので。最初
の SELECT は、SQL 的に必須と思いますので、あって当然かと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!