第 9章関数と演算子

目次
9.1. 論理演算子
9.2. 比較演算子
9.3. 算術関数と演算子
9.4. 文字列関数と演算子
9.5. バイナリ列関数と演算子
9.6. パターンマッチング
9.6.1. LIKE
9.6.2. SIMILAR TOおよびSQL99の正規表現
9.6.3. POSIX正規表現
9.7. データ型書式設定関数
9.8. 日付/時刻関数と演算子
9.8.1. EXTRACT, date_part
9.8.2. date_trunc
9.8.3. AT TIME ZONE
9.8.4. 現在の日付/時刻
9.9. 幾何関数と演算子
9.10. ネットワークアドレス型関数
9.11. シーケンス操作関数
9.12. 条件式
9.12.1. CASE
9.12.2. COALESCE
9.12.3. NULLIF
9.13. その他の関数
9.14. 配列関数と演算子
9.15. 集約関数
9.16. 副問い合わせ式
9.16.1. EXISTS
9.16.2. IN
9.16.3. NOT IN
9.16.4. ANY/SOME
9.16.5. ALL
9.16.6. 行に関しての比較
9.17. 行と配列の比較
9.17.1. IN
9.17.2. NOT IN
9.17.3. ANY/SOME (配列)
9.17.4. ALL (配列)
9.17.5. 行に関しての比較

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

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

9.1. 論理演算子

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

AND
OR
NOT

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

aba AND ba OR b
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
TRUENULLNULLTRUE
FALSEFALSEFALSEFALSE
FALSENULLFALSENULL
NULLNULLNULLNULL

aNOT a
TRUEFALSE
FALSETRUE
NULLNULL

AND演算子とOR演算子は交換可能です。 つまり、結果に影響を与えることなく左右のオペランドを交換することができます。 しかし、副式の評価順についてのより詳細について項4.2.11を参照してください。