・テーブルとは無関係な情報のみの場合は、SELECTのFROM以降は省略できる。
・\tメタコマンドによって出力形式を切り替えることができる。今回は、列名・行数などを表示しないようにしておく。
演算子 | 意味 |
---|---|
+ | 加算 |
- | 減算 |
* | 乗算 |
/ | 除算 |
% | 剰余 |
oddtbs=> select 10 + 4;
14
数値、演算子(+, -, *, /, %)を様々に変更して実行。
データ::型 または CAST(データ AS 型)
oddtbs=> select 10 / 4; 2 oddtbs=> select 10::float / 4; 2.5 oddtbs=> select cast(10 as float) / 4; 2.5
oddtbs=> select 'abc' || 'def'; abcdef oddtbs=> select 10 || 'def'; 10def
文字列 LIKE パターン文字列 文字列 NOT LIKE パターン文字列
・LIKEはマッチすればTRUE
・NOT LIKEはマッチしなければTRUE
記号 | 意味 |
---|---|
% | 任意の文字列 |
_ | 任意の文字 |
oddtbs=> select 'abcdef' like 'abc%'; t oddtbs=> select 'abcdef' not like 'abc%'; f oddtbs=> select 'abcdef' like 'abc_'; f oddtbs=> select 'abcdef' like 'abc___'; t
文字列、特殊記号(%, _)を様々に変更して実行。
文字列 ~ パターン文字列 文字列 !~ パターン文字列
・~はマッチすればTRUE
・!~はマッチしなければTRUE
記号 | 意味 |
---|---|
. | 任意の文字 |
* | 直前の文字の繰り返し |
[abc] | a,b,cのうちのどれかの文字 |
[a-z] | aからzまでのどれかの文字 |
^ | 最初 |
$ | 最後 |
その他非常に多くの記号がある。
oddtbs=> select 'abcdef' ~ 'b.*e'; t oddtbs=> select 'abcdef' !~ 'b.*e'; f oddtbs=> select 'abcdef' ~ '^b.*e$'; f oddtbs=> select 'abcdef' ~ '^a.*f$'; t ※ 正規表現は^や$を使用しない場合、一部に含んでいればマッチしたとみなす。
文字列、パターンを様々に変更して実行。
演算子 | 意味 |
---|---|
= | 等しい |
!= | 等しくない |
<> | 同上 |
< | 小さい |
<= | 以下 |
> | 大きい |
>= | 以上 |
oddtbs=> select 100 > 20; t oddtbs=> select '100' > '20'; f 文字列の大小関係は辞書順で判断される
数値、文字列、演算子(=, !=, <>, <, <=, >, >=)を様々に変更して実行。
データ BETWEEN 値1 AND 値2 データ NOT BETWEEN 値1 AND 値2
BETWEENは、データが値1と値2の間(正確には値1以上で値2以下)であれば成り立つ。
NOT BETWEENは逆。
oddtbs=> select 15 between 10 and 20; t oddtbs=> select 10 between 10 and 20; t oddtbs=> select 30 between 10 and 20; f
数値を様々に変更して実行。
数値を文字列に変更して実行。
演算子 | 意味 |
---|---|
not | ではない |
and | なおかつ |
or | または |
oddtbs=> select not 100 > 20; f oddtbs=> select 1 <= 15 and 15 <= 12; f oddtbs=> select 6 = 6 or 6 = 9; t
数値を様々に変更して実行。
複数のデータを( )で囲んでまとめたものを行コンストラクタという。
行コンストラクタは = などで比較することができる。
大小関係の比較もできるが、バージョンによって動作が異なる。
oddtbs=> select (10, 20, 30) = (10, 20, 30); t oddtbs=> select (10, 20, 30) = (10, 40, 30); f
数値を様々に変更して実行。
データ IN 行コンストラクタ データ NOT IN 行コンストラクタ
IN演算子は、データが行コンストラクタのどれかの値に一致すれば成り立つ。
NOT INは逆。
oddtbs=> select 20 in (10, 20, 30); t oddtbs=> select 40 in (10, 20, 30); f
数値を様々に変更して実行。