SQLite | SQLite関数 | 数値を丸める(round関数)

round関数を使うと数値を丸められます。ここでは、round関数の使い方を説明します。

round関数の使い方

構文は次のとおりです。

round(数値)
round(数値, 桁数)

引数が1つの場合、指定した数値を最も近い整数に丸めます。第2引数には小数点以下の桁数を指定します。例えば2を指定すると、小数点以下2桁に丸めます。

round(0.47);      /* 0.0 */
round(0.536);     /* 1.0 */
round(0.536, 0);  /* 1.0 */
round(0.536, 1);  /* 0.5 */
round(0.536, 2);  /* 0.54 */

桁数に負の値は指定できません。引数に列名を指定すると、その列に保存されている値を丸めます。

例で使用するテーブルを作成します。

create table point (id integer, point real);
sqlite> create table point (id integer, point real);
sqlite> 

次のデータを追加します。

insert into point values (1, 15.4853);
insert into point values (2, 27.143);
insert into point values (3, 38.902);
insert into point values (4, 26.5521);
insert into point values (5, 30.36);
sqlite> insert into point values (1, 15.4853);
sqlite> insert into point values (2, 27.143);
sqlite> insert into point values (3, 38.902);
sqlite> insert into point values (4, 26.5521);
sqlite> insert into point values (5, 30.36);
sqlite> 

round関数でpoint列の値を最も近い整数に丸めます。

select id, point, round(point) from point;
sqlite> .mode column
sqlite> .header on
sqlite> 
sqlite> select id, point, round(point) from point;
id          point       round(point)
----------  ----------  ------------
1           15.4853     15.0        
2           27.143      27.0        
3           38.902      39.0        
4           26.5521     27.0        
5           30.36       30.0        
sqlite> 

それぞれの値を最も近い整数に丸めた結果が表示されました。

次に、小数点以下1桁と2桁に丸めます。

select id, point, round(point, 1), round(point, 2) from point;
sqlite> select id, point, round(point, 1), round(point, 2) from point;
id          point       round(point, 1)  round(point, 2)
----------  ----------  ---------------  ---------------
1           15.4853     15.5             15.49          
2           27.143      27.1             27.14          
3           38.902      38.9             38.9           
4           26.5521     26.6             26.55          
5           30.36       30.4             30.36          
sqlite> 

指定した小数点以下の桁数に丸めた値が表示されました。