演算子の利用

SQLiteでは次の演算子が用意されています。

優先順位高い
----------------
||
*    /    %
+    -
<<   >>   &    |
<    <=   >    >=
=    ==   !=   <>   IN  LIKE  GLOB  MATCH  REGEXP
AND   
OR
----------------
優先順位低い

演算子は上に記載されているほど優先順位が高くなっています。

また単項演算子として次のものが用意されています。

-    +    ~    NOT

比較演算子及び論理演算子についてはWHERE句の条件式などで使用されます。これらについては「検索条件の設定(WHERE句)」を参照して下さい。ここでは四則演算に関する演算子について確認します。

四則演算に関する演算子は次のものが用意されています。

演算子使用例意味
+a + ba に b を加える
-a - ba から b を引く
*a * ba に b をかける
/a / ba を b で割る
%a % ba を b で割った余り

これらの演算子は次のように使うことができます。

select 3 + 5;       /* 8 */
select 4 * 3;       /* 12 */
select 8 % 3;       /* 2 */

カラム名を指定する箇所に四則演算を使った計算式を記述すると、その演算結果を取得することができます。

またカラム名に対して四則演算を使った計算式を記述することができます。

SELECT カラム名 演算子 値 FROM テーブル名;

この場合、カラム名に格納された値を取得するのではなく、格納された値に対して演算を行った結果を取得します。

具体的には次のようになります。

create table goods(id integer, price integer);

select price * 1.05 from goods;

上記のSELECT文では「price」カラムに格納されている値に1.05を乗算した結果を取得します。

サンプル

では実際に試してみます。

次のようなデータが格納されたテーブルを対象にします。

p11-1

「price」カラムの値に1.05を乗算した結果を取得します。

select price, price * 1.05 from uriage;

p11-2

同じ結果になりますが今度は「price」カラムの値に0.05を乗算した結果と「price」カラムの値を加算した結果を取得します。

select price + price * 0.05 from uriage;

p11-3

このように四則演算のための演算子を使用することで、取得した値に対して演算を行った結果を取得することができます。