算術演算子の使い方

算術演算子は四則演算を行う為の演算子です。加算、減算、乗算、除算、剰余などを計算することができます。 MySQL で利用可能な算術演算子は次の通りです。

演算子使用例意味
+a + ba に b を加える
-a - ba から b を引く
*a * ba に b をかける
/a / ba を b で割る
DIVa DIV ba を b で割る(整数除算)
%a % ba を b で割った余り
MODa MOD ba を b で割った余り

算術演算子の使い方について解説します。

(Last modified: )

加算

加算を表す '+' は左辺の値に右辺の値を加えたものを返します。

select 10 + 4, 12.8 + 7.92, 4.5 + 3.5, 7.2 + 4, 3.0 + 2.0;

加算(1)

左辺及び右辺が整数の場合は結果も整数ですが、どちらかが浮動小数点数の場合は結果も浮動小数点数となります。

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

加算(2)

減算

減算を表す '-' は左辺の値から右辺の値を引いたものを返します。

select 10 - 7, 8.8 - 17.92, 4.5 - 3.5, 5.7 - 10, 3.0 - 2.0;

減算(1)

左辺及び右辺が整数の場合は結果も整数ですが、どちらかが浮動小数点数の場合は結果も浮動小数点数となります。

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

減算(2)

乗算

乗算を表す '*' は左辺の値に右辺の値を掛けたものを返します。

select 10 * 7, 8.8 * 2.14, -13 * 2.1, 1.2 * 0.11456;

乗算(1)

左辺及び右辺が整数の場合は結果も整数ですが、どちらかが浮動小数点数の場合は結果も浮動小数点数となります。

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

乗算(2)

除算

除算を表す '/' は左辺の値を右辺の値を割ったものを返します。

select 10 / 2, 10 / 3, 1.4 / 3.1, 1.40 / 3.1, 1.400 / 3.1;

除算(1)

除算の場合は結果はいずれにしても浮動小数点数となります。また結果の小数点以下の桁数は左辺の数値の小数点以下の桁数にシステム変数 div_precision_increment の値を加えたものとなります。下記の通りこの値のデフォルトの値は 4 となっています。

show variables like 'div_precision_increment';

除算(2)

つまり 4 / 3 は左辺の数値の小数点以下の桁数が 0 なので結果の小数点以下の桁数は 0 + 4 = 4 となり 1.3333 となります。 4.1 / 3 なら左辺の小数点以下の桁数が 1 なので結果の小数点以下の桁数は 1 + 4 = 5 となり 1.36667 となります。

右辺の小数点以下の桁数は関係ない点に注意して下さい。例えば 4 / 3.335 の場合は右辺の数値の小数点以下の桁数が 3 ですが、左辺の数値の小数点以下の桁数が 0 なので結果の小数点以下の桁数は 0 + 4 = 4 となり 1.1994 となります。

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

除算(3)

DIV

DIV は左辺の値を右辺の値を割った値の整数部分を返します。

select 9 DIV 2, 18 DIV 5, 5.4 DIV 3, 5.4 DIV 3.5, -12.49 DIV 3;

DIV(1)

’/’ との違いは除算した結果として整数部分の値だけを返してくるという点です。

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

DIV(2)

剰余

剰余を表す '%' は左辺の値を右辺の値を割った余りを返します。

select 5 % 2, -7 % 3, 134.63 % 3, 5.24 % 1.7;

剰余(1)

整数及び浮動小数点数のいずれであっても利用できます。

なお '%' の代わりに MOD を使っても同じ結果となります。

select 5 MOD 2, -7 MOD 3, 134.63 MOD 3, 5.24 MOD 1.7;

剰余(2)

カラム名を指定した場合には、カラムに格納されている値に対して計算が行われます。

剰余(3)

-- --

MySQL にて算術演算子の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。