問題:
数値を特定の小数点以下の桁数に丸めたい。
例:
データベースには、product
次の列にデータがあります:id
、name
、およびprice_net
。
id | 名前 | price_net |
---|---|---|
1 | パン | 2.34 |
2 | クロワッサン | 1.22 |
3 | ロール | 0.68 |
各商品に24%の税金がかかり、各商品の総額(つまり、税引き後)を計算し、その値を小数点以下第2位に四捨五入するとします。
解決策:
SELECT id, ROUND( price_net*1.24 , 2 ) as price_gross FROM product;
このクエリは、小数点以下第2位に四捨五入された総額を返します。
id | price_gross |
---|---|
1 | 2.90 |
2 | 1.51 |
3 | 0.84 |
ディスカッション:
SQLで浮動小数点数を特定の小数点以下の桁数に丸める場合は、ROUND関数を使用します。この関数の最初の引数は、値を丸めたい列です。 2番目の引数はオプションであり、丸める場所の数を示します。デフォルトでは、2番目の引数を指定しない場合、関数は最も近い整数に丸められます。
この例では、列を丸める場所の数を指定しません:
SELECT id, ROUND(price_net*1.24) as price_gross FROM product;
対応する結果は次のとおりです:
id | price_gross |
---|---|
1 | 3 |
2 | 2 |
3 | 1 |