SQLの四捨五入でデータ加工する方法とROUND関数の使い方

SQLのROUND関数を使った四捨五入の方法について、基本から応用まで詳しく解説します。実務でよく使う具体的なコード例も交えながら、どのように活用すれば効率的なデータ処理ができるのでしょうか?

SQLのROUND関数による四捨五入の基本と応用

SQLの四捨五入処理の特徴
📊
基本的な機能

数値データの精度を調整し、指定した桁数で四捨五入できます

🔧
実務での活用

売上集計や財務計算で頻繁に使用される重要な関数です

💡
データベース互換性

主要なDBMSで利用可能な標準的な関数として実装されています

SQLのROUND関数の基本構文と使い方

ROUND関数は、数値を指定した桁数で四捨五入するための基本的な関数です。構文は以下のようになります:


SELECT ROUND(数値, 桁数)

 

具体的な使用例を見てみましょう:


-- 小数点以下2桁に四捨五入
SELECT ROUND(123.4567, 2)  -- 結果: 123.46
-- 整数に四捨五入
SELECT ROUND(123.4567, 0)  -- 結果: 123
-- 十の位で四捨五入
SELECT ROUND(123.4567, -1) -- 結果: 120

SQLの四捨五入における小数点の扱い方

小数点の位置によって四捨五入の結果が変わってきます。以下のようなパターンがあります:


-- 正の桁数指定(小数点以下の制御)
SELECT price, 
       ROUND(price, 1) as decimal_1,
       ROUND(price, 2) as decimal_2
FROM sales_table
-- 負の桁数指定(整数部分の制御)
SELECT amount,
       ROUND(amount, -2) as hundreds,
       ROUND(amount, -3) as thousands
FROM transaction_table

SQLで四捨五入と組み合わせる便利な関数

ROUND関数と併用すると便利な関数をご紹介します:


-- 切り捨て(FLOOR)
SELECT FLOOR(123.45)       -- 結果: 123
-- 切り上げ(CEILING)
SELECT CEILING(123.45)     -- 結果: 124
-- 絶対値での四捨五入
SELECT ROUND(ABS(-123.45), 1) -- 結果: 123.5

SQLの四捨五入におけるデータ型の注意点

データ型によって四捨五入の挙動が異なる場合があります:


-- DECIMAL型での四捨五入
DECLARE @decimal_value DECIMAL(10,4) = 123.4567
SELECT ROUND(@decimal_value, 2)
-- FLOAT型での四捨五入
DECLARE @float_value FLOAT = 123.4567
SELECT ROUND(@float_value, 2)

SQLの四捨五入を使った実践的なデータ分析例

実務でよく使用される四捨五入のケースを見てみましょう:


-- 売上の集計(千円単位)
SELECT 
    department,
    ROUND(SUM(sales_amount) / 1000, 0) as sales_thousands
FROM sales_table
GROUP BY department
-- 平均値の計算(小数点第2位まで)
SELECT 
    product_category,
    ROUND(AVG(unit_price), 2) as avg_price
FROM products
GROUP BY product_category

 

これらの実装例は、実際のビジネスシーンでよく使用されるパターンです。特に財務データの処理や統計分析において重要な役割を果たします。

 

データの精度と可読性のバランスを取りながら、目的に応じた適切な四捨五入処理を選択することが重要です。