目次
SELECT句で算術式を使用する方法
取り出す列の値が数値や日付データの場合は、SELECT句に算術式を指定することで計算結果を取り出すことができる。
算術式とは何のこと?
値を計算する式のことで、計算された値は条件ステートメントや算術ステートメントでオペランドとして使用されることがあります。 算術式は、厳密な階層と優先順位に従ってオペランドと演算子から構成されます。
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/rzasb/arith.htm
SQL文で使用できる算術演算子
SQL文で使用できる算術演算子は以下のようなものがあります。
演算子 | 説明 |
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
スポンサーリンク
算術演算子の優先順位
複数の算術演算子が含まれている場合は、以下に示す算術演算子の優先順位によって計算処理が実行される。
SQLにおいての算術演算子の優先順位は、普段、算数や数学に使われる順序と同様である。
優先順位 | 説明 |
1 | 「*」(乗算)及び「/」(除算) |
2 | 「+」(加算)及び「-」(減算) |
同じ優先順位の算術演算子が複数ある場合は、左側から順番に実行される。また算数や数学と同様で「丸格好()」で囲むことによって、明示的に優先順位を指定することもできる。
例として次のような算術演算子があったとする
1 2 |
SQL> SELECT ename, sal, sal + 10000 * 12 2 FROM employee; |
取り出される結果は次のようになる。「SAL + 10000 * 12」においては、先に乗算が計算され後から計算結果に足し算が足される。
1 2 3 4 5 |
ENAME SAL SAL + 100000 * 12 --------- --------- ------------------- 木村 30000 150000 佐々木 10000 130000 朝倉 80000 200000 |
スポンサーリンク
算術式とNULL値
リレーショナルデータベースでは値が格納されていないフィールドを「NULL値」という特殊な値で表現する。
NULL値は特殊な値であるため注意が必要です。算術式の中に一つでもNULL値が含まれていると、その算術式の結果もNULL値になる。
連結演算子の使用
1 |
列名 || 列名 |
連結演算子を利用すると、以下の例のように列の値とともに関連する情報を一つの文章のように連結することができます。
1 2 |
SQL> SELECT ename || 'さんの入社日は' || 'です。' 2 FROM employee; |