とりあえず本家の文書はこちら: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…
とか書ける。