Chapter 6. 関数と演算子

Table of Contents
6.1. 論理演算子
6.2. 比較演算子
6.3. 算術関数と演算子
6.4. 文字列関数と演算子
6.5. バイナリ列関数と演算子
6.6. パターンマッチング
6.6.1. LIKE
6.6.2. SIMILAR TO および SQL99 の正規表現
6.6.3. POSIX 正規表現
6.7. データ型フォーマッティング関数
6.8. 日付/時刻関数と演算子
6.8.1. EXTRACT, date_part
6.8.2. date_trunc
6.8.3. AT TIME ZONE
6.8.4. 現在の日付/時刻
6.9. 幾何関数と演算子
6.10. ネットワークアドレス型関数
6.11. シーケンス操作関数
6.12. 条件式
6.12.1. CASE
6.12.2. COALESCE
6.12.3. NULLIF
6.13. その他の関数
6.14. 集約関数
6.15. 副問い合わせ式
6.15.1. EXISTS
6.15.2. IN (scalar form)
6.15.3. IN (subquery form)
6.15.4. NOT IN (scalar form)
6.15.5. NOT IN (subquery form)
6.15.6. ANY/SOME
6.15.7. ALL
6.15.8. 行に関しての比較

PostgreSQL には組み込み済みデータ型に対して数多くの関数と演算子を用意しています。 PostgreSQL 7.3 プログラマガイドで解説しているように、ユーザは独自の関数と演算子を定義できます。psql\df コマンドと \do コマンドはそれぞれすべての使用可能な関数と演算子のリストを表示させます。

もし移植性が気になるのであればほとんどの基本的算術演算子、比較演算子および幾つかの明示的に印をつけた関数を除いて、大多数の関数と演算子は SQL 標準で規定されていない点に注意してください。 拡張機能のいくつかは他の SQL 実装にも備わっており、多くの場合、この機能には各種製品間での互換性と整合性があります。

6.1. 論理演算子

通常の論理演算子は使用できます。

AND
OR
NOT

SQL は 3 値のブール演算論理を使用し、ここで NULL 値は「不明」を意味します。 以下の真理値表を参照してください。

aba AND ba OR b
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
TRUENULLNULLTRUE
FALSEFALSEFALSEFALSE
FALSENULLFALSENULL
NULLNULLNULLNULL

aNOT a
TRUEFALSE
FALSETRUE
NULLNULL