四捨五入 は ROUND、切り捨て は ROUND または FLOOR、切り上げ は CEILING 関数 を使用します。
四捨五入・切り捨て・切り上げ
四捨五入 = ROUND(丸めたい値, 丸め位置)
切り捨て = ROUND(丸めたい値, 丸め位置, 1)
切り捨て = FLOOR(丸めたい値)
切り上げ = CEILING(丸めたい値)
四捨五入
四捨五入 するには ROUND 関数を使用します。第一引数に 丸めたい値、第二引数に 丸め位置 を指定します。丸め位置 に マイナス値 を指定すると、整数部の丸めも可能です。四捨五入の結果 = ROUND(丸めたい値, 丸め位置)
サンプルSQL
--四捨五入(少数)
SELECT ROUND(1234.555, 0) --結果 = 1235.000
,ROUND(1234.555, 1) --結果 = 1234.600
,ROUND(1234.555, 2) --結果 = 1234.560
--四捨五入(整数)
SELECT ROUND(123456789, -1) --結果 = 123456790
,ROUND(123456789, -2) --結果 = 123456800
,ROUND(123456789, -3) --結果 = 123457000
銀行家の丸め ではなく、 四捨五入 が行われます。
SELECT ROUND(1.5, 0) --結果 = 2.0
,ROUND(2.5, 0) --結果 = 3.0
切り捨て
切り捨て するには ROUND 関数を使用します。第一引数に 丸めたい値、第二引数に 丸め位置、第三引数に 1(ゼロ以外の値) を指定します。 FLOOR 関数でも切り捨てはできますが、桁数の指定ができません。切り捨て結果 = ROUND(丸めたい値, 丸め位置, 1)
切り捨て結果 = FLOOR(丸めたい値)
ROUND関数 と FLOOR関数 の違い
マイナス値を切り捨てたとき ROUND関数 はゼロに近づき、FLOOR関数 はゼロから離れます。
--ROUND関数 はゼロに近づく
SELECT ROUND(-0.9, 0, 1) --結果 = 0.0
,ROUND(-1.9, 0, 1) --結果 = -1.0
--FLOOR関数 はゼロから離れる
SELECT FLOOR(-0.9) --結果 = -1
,FLOOR(-1.9) --結果 = -2
サンプルSQL (ROUND関数)
--切り捨て(少数)
SELECT ROUND(1234.555, 0, 1) --結果 = 1234.000
,ROUND(1234.555, 1, 1) --結果 = 1234.500
,ROUND(1234.555, 2, 1) --結果 = 1234.550
--切り捨て(整数)
SELECT ROUND(123456789, -1, 1) --結果 = 123456780
,ROUND(123456789, -2, 1) --結果 = 123456700
,ROUND(123456789, -3, 1) --結果 = 123456000
サンプルSQL (FLOOR関数)
SELECT FLOOR(1234.555) --結果 = 1234
,FLOOR(1234.555 * 10) / 10 --結果 = 1234.500000
,FLOOR(1234.555 * 100) / 100 --結果 = 1234.550000
切り上げ
切り上げ するには CEILING 関数を使用します。第一引数に 丸めたい値を指定します。切り上げ位置の指定はできません。切り上げ結果 = CEILING(丸めたい値)
サンプルSQL
--切り上げ
SELECT CEILING(0.19999) --結果 = 1
--マイナス値はゼロに近づく
SELECT CEILING(-0.9) --結果 = 0
,CEILING(-1.9) --結果 = -1
サンプルSQL の実行結果
四捨五入 - ROUND
検証環境
- Microsoft SQL Server 2019 (RTM-CU10) (KB5001090) - 15.0.4123.1 (X64) Mar 22 2021 18:10:24 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 20.04.2 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2019-latest
- Docker Desktop 3.3.1(63152)
- Docker Engine 20.10.5
- Microsoft SQL Server Management Studio v18.8(15.0.18369.0)
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.928 Experience: Windows Feature Experience Pack 120.2212.551.0