目次
いろいろな算術演算子
SQLで使える主な算術演算子は、以下になります。
記号 | 説明 |
---|---|
+ | 足し算 |
- | 引き算 |
* | 掛け算 |
/ | 割り算 |
% | 余り |
nullを含む演算の注意点
null とは、データが存在しないことを表す値です。
そのため null を含んだ計算結果は全て null になるので注意してくださ。
select 100 + null;
select 100 - null;
select 100 * null;
select 100 / null;
select 100 % null;
→全て null になります。
絶対値の取得
絶対値 とは、数値の符号を考えないゼロからの距離の大きさを表す数値です。
- 10 の絶対値 → 10
select abs(10);
- -10 の絶対値 → 10
select abs(-10);
- 0 の絶対値 → 0
select abs(0);
四捨五入を行う round関数
round とは、数値の符号を考えないゼロからの距離の大きさを表す数値です。
基本構文
1 2 |
round(対象の数値,丸めの桁数) |
ex)
- 丸めの桁数 0 = 小数 第一位 で四捨五入
round(20.555, 0)
→ 21
- 丸めの桁数 1 = 小数 第二位 で四捨五入
round(20.555, 1)
→ 20.6 -
丸めの桁数 2 = 小数 第三位 で四捨五入
round(20.555, 2)
→ 20.56
例題:国別(countryテーブル)のGNPを小数点第一位で表示してください。
1 2 3 4 5 6 7 8 |
use world; select Name, round(GNP, 1) from country ; |

文字列演算
1 2 |
a||b |
文字列 a と文字列 b を連結します。
ただし、MySQL、SQLserver2012以降では concat関数 を使用します。
1 2 |
concat(文字列1,文字列2, ...) |
例題:国別(countryテーブル)の名前を「Code+Name」となるようにCodeと一緒に表示してください。間には、一文字分の空白を空けてください。
1 2 3 4 5 6 7 |
use world; select concat(Code,' ',Name) from country ; |

日付と時刻の演算
主な日付と時刻の関数や演算子は以下になります。
構文 | 説明 |
---|---|
current_date | 現在の日付 |
current_timestamp | 現在の時刻 |
d + n | n日後の日付 |
d - n | n日前の日付 |
interval x hour |
x時間後の時刻 |
-interval x hour |
x時間前の時刻 |
extract | 日付や時刻の特定部分(年や月)までを取り出す |