とりあえず本家の文書はこちら:PL/pgSQL – SQL手続き言語 | PostgreSQL 9.5.1文書
演算子
| := | 変数に値を代入する |
| || | 文字列を結合する |
論理演算子
Logical Operators | PostgreSQL Documentationより転載
| a | b | a AND b | a OR b |
|---|---|---|---|
| TRUE | TRUE | TRUE | TRUE |
| TRUE | FALSE | FALSE | TRUE |
| TRUE | NULL | NULL | TRUE |
| FALSE | FALSE | FALSE | FALSE |
| FALSE | NULL | FALSE | NULL |
| NULL | NULL | NULL | NULL |
| a | NOT a |
|---|---|
| TRUE | FALSE |
| FALSE | TRUE |
| NULL | NULL |
比較演算子
| < | less than |
| > | greater than |
| <= | less than or equal to |
| >= | greater than or equal to |
| = | equal |
| <> or != | not equal |
参考情報:Comparison Operators | PostgreSQL Documentation
条件分岐
IF … THEN … END IF;
などで戻り値のある関数を書いた場合、ELSE文書かないで終わると、全ての条件でRETURN文を書いておかないとエラーになる。
参考情報:制御構造 | PostgreSQL Documentation
空行を返したい場合
RETURN QUERY SELECT * FROM test_table WHERE 1 = 0;
などとする。
関数内で関数呼び出し
問題なくできる。
foo_funcがBOOLEANを返す場合、
if foo_func() THEN…
とか書ける。

