SQLite | SQLite関数 | 数値の絶対値を求める(abs関数)

abs関数を使用すると、数値の絶対値を求められます。ここでは、abs関数の使い方について説明します。

abs関数の使い方

abs関数は数値の絶対値を求めるために使用します。構文は次のとおりです。

abs(数値)

引数に指定した数値の絶対値を返します。正の数値はそのまま返し、負の数値は正の数値にして返します。

abs(0.47);      /* 0.47 */
abs(-19);       /* 19 */

引数にNULLを指定するとNULLを返します。数値に変換できない値を指定した場合は0.0を返します。

abs(NULL);      /* NULL */
abs('-18.5');   /* 18.5 */
abs('pen');     /* 0.0 */

引数に列名を指定すると、その列に保存されている各値の絶対値を求めます。

実際に絶対値を求めてみましょう。まず、次のテーブルを作成します。

create table test (id, data);

INSERT文を使用して次のデータを追加します。

insert into test values (1, 18);
insert into test values (2, -7.4);
insert into test values (3, NULL);
insert into test values (4, 'Flower');
insert into test values (5, '-16');
sqlite> insert into test values (1, 18);
sqlite> insert into test values (2, -7.4);
sqlite> insert into test values (3, NULL);
sqlite> insert into test values (4, 'Flower');
sqlite> insert into test values (5, '-16');
sqlite> 

abs関数を使用して、data列に保存されている値の絶対値を求めます。

select id, data, abs(data) from test;
sqlite> .mode column
sqlite> .header on
sqlite> 
sqlite> select id, data, abs(data) from test;
id          data        abs(data) 
----------  ----------  ----------
1           18          18        
2           -7.4        7.4       
3                                 
4           Flower      0.0       
5           -16         16.0 

列に保存された各値の絶対値が表示されました。