演算子は、オペランドまたは引数と呼ばれる個々のデータ項目を操作します。演算子は、特殊文字またはキーワードで表します。たとえば、乗算演算子は、アスタリスク(*)で表します。
Oracle Textがインストールされている場合は、Oracle Text問合せで、この製品に含まれるSCORE
演算子を使用できます。また、CONTAINS
、CATSEARCH
、MATCHES
などの組込みText演算子を使用して条件を作成することもできます。Oracle Text要素の詳細は、『Oracle Textリファレンス』を参照してください。
注意: NLS_COMP とNLS_SORT の設定を組み合せた値によって、文字をソートおよび比較するルールが決まります。ご使用のデータベースのNLS_COMP にLINGUISTIC が設定されている場合、この章のエンティティはすべてNLS_SORT パラメータによって指定されるルールに従って解釈されます。NLS_COMP がLINGUISTIC に設定されていない場合、ファンクションはNLS_SORT の設定に関係なく解釈されます。NLS_SORT は、明示的に設定できます。明示的に設定されていない場合は、NLS_LANGUAGE から導出されます。これらの設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 |
単項: 単項演算子は、1つのみのオペランドについて操作します。単項演算子の書式は次のとおりです。
operator operand
バイナリ: バイナリ演算子は、2つのオペランドについて操作します。バイナリ演算子の書式は次のとおりです。
operand1 operator operand2
この他、特別な書式を持ち、3つ以上のオペランドについて操作可能な演算子もあります。演算子のオペランドにNULLが指定された場合、結果は常にNULLになります。この規則に従わない唯一の演算子が連結演算子(||)です。
優先順位とは、同じ式の中の異なる演算子をOracle Databaseが評価する順序を意味します。複数の演算子を含む式を評価するとき、Oracleは優先順位の高い演算子を評価した後で、優先順位の低い演算子を評価します。優先順位の等しい演算子は、式の中で左から右に評価されます。
表4-1に、SQL演算子を優先順位の高い方から順に示します。同じ行にリストされている演算子の優先順位は同じです。
演算子 | 操作 |
---|---|
|
同一、否定、階層内の位置 |
|
乗算、除算 |
|
加算、減算、連結 |
SQL条件は、SQL演算子の後で評価されます。 |
「条件の優先順位」を参照してください。 |
優先順位の例 次の式では、乗算は加算よりも優先順位が高いため、2と3を掛けた結果に1が加算されます。
1+2*3
式の中でカッコを使用して演算子の優先順位を上書きできます。Oracleは、カッコの内側の式を評価した後で、外側の式を評価します。
SQLでは、集合演算子(UNION
、UNION
ALL
、INTERSECT
およびMINUS
)もサポートされます。集合演算子によって結合されるのは、問合せによって戻される行の集まりで、個々のデータ項目ではありません。集合演算子の優先順位はすべて同じです。