SQLServer 計算/四捨五入/切り捨て/切り上げ

SQL Serverの計算/四捨五入/切り捨て/切り上げのサンプルです。

目次

サンプル 数値の計算
  四捨五入
  切り捨て
  切り上げ

数値の計算

数値の計算のサンプルです。

-- 足し算
select 6 + 3; -- 9

-- 引き算
select 6 - 3; -- 3

-- 掛け算
select 6 * 3; -- 18

-- 割り算
select 6 / 3; -- 2

-- 割り算の余り
select 5%3; -- 2

-- べき乗
select POWER(2,4); -- 16

-- 絶対値
select ABS(-5); -- 5

14行目の%は、割り算の余りを求めます。
17行目のPOWERは、べき乗です。1 つ目の数値を 2 つ目の数値でべき乗します(2*2*2*2=16)。

四捨五入

ROUND(対象の数値,指定する桁)

ROUND関数は、四捨五入を行います。

-- 四捨五入
select ROUND(2.26,0); -- 2.00
select ROUND(2.82,0); -- 3.00
select ROUND(-2.82,0); -- -3.00

select ROUND(12.2627,1); -- 12.3000
select ROUND(12.2627,2); -- 12.2600
select ROUND(12.2627,3); -- 12.2630

select ROUND(226,-1); -- 230
select ROUND(226,-2); -- 200
select ROUND(-226,-1); -- -230
select ROUND(-226,-2); -- -200

2行目は、小数点第一位を四捨五入しています。
6行目は、小数第2位を四捨五入します。
7行目は、小数第3位を四捨五入します。
8行目は、小数第4位を四捨五入します。
10行目は、2つめの引数にマイナス値を指定し1の位を四捨五入しています。

https://docs.microsoft.com/ja-jp/sql/t-sql/functions/round-transact-sql?view=sql-server-ver15

切り捨て

FLOOR(対象の数値)

FLOOR関数の引数は1つのみです。小数点第一位を切り捨てます。

-- 切り捨て
select FLOOR(2.26); -- 2
select FLOOR(2.82); -- 2
select FLOOR(-2.82); -- -3

select FLOOR(12.2627*10)/10; -- 12.200000
select FLOOR(12.2627*100)/100; -- 12.260000
select FLOOR(12.2627*1000)/1000; -- 12.262000

select FLOOR(12.2627/10)*10; -- 10

2~4行目は、小数点第一位を切り捨てします。整数になります。
4行目の負の値は、負の無限大への丸めです。
6行目は、小数第2位を切り捨てます。
7行目は、小数第3位を切り捨てます。
8行目は、小数第4位を切り捨てます。
10行目は、1の位を切り捨てます。

切り上げ

CEILING(対象の数値)

CEILING関数の引数は1つのみです。小数点第一位を切り上げます。

-- 切り上げ
select CEILING(2.26); -- 3
select CEILING(2.82); -- 3
select CEILING(-2.82); -- -2

select CEILING(12.2627*10)/10; -- 12.300000
select CEILING(12.2627*100)/100; -- 12.270000
select CEILING(12.2627*1000)/1000; -- 12.263000

select CEILING(12.2627/10)*10; -- 20

2~4行目は、小数点第一位を切り上げします。整数になります。
4行目の負の値は、正の無限大への丸めです。
6行目は、小数第2位を切り上げます。
7行目は、小数第3位を切り上げます。
8行目は、小数第4位を切り上げます。
10行目は、1の位を切り上げます。

WikiPediaの端数処理のリンクです。
https://ja.wikipedia.org/wiki/%E7%AB%AF%E6%95%B0%E5%87%A6%E7%90%86

関連の記事

SQLServer T-SQLのif文のサンプル
SQLServer T-SQLのループ文のサンプル

△上に戻る