OceanBaseデータベースは現在、算術演算子、ビット演算子、比較演算子、論理演算子、日付時刻演算子、文字列結合演算子、およびソートルール演算子などをサポートしています。
演算子の優先順位の概要
演算子の優先順位は、最も高い優先順位から最も低い優先順位まで以下のとおりです。同一行上の演算子はすべて同じ優先順位を持ちます。
COLLATE
!
- (単項減算), ~ (単項ビット反転)
^
*, /, DIV, %, MOD
-, +
<<, >>
&
|
= (比較), <=>, >=, >, <=, <, <>, !=, IN
BETWEEN,
NOT
AND, &&
XOR
OR, ||
= (代入), :=
説明
=の優先順位は、比較演算子 (=) として使用されるか、代入演算子 (=) として使用されるかによって異なります。比較演算子として使用される場合、<=>、>=、>、<=、<、<>、および!=と同じ優先順位を持ちます。代入演算子として使用される場合、:=と同じ優先順位を持ちます。式内に同じ優先順位の演算子が複数存在する場合、左から右へと計算が行われますが、代入演算は右から左へと行われます。
以下の演算子の優先順位と意味は、SQLモードによって異なります:
デフォルトでは、
||は論理OR演算子です。PIPES_AS_CONCATを有効にすると、||は文字列結合となり、^と単項演算子の間の優先順位を持ちます。デフォルトでは、
!はNOTよりも高い優先順位を持ちます。HIGH_NOT_PRECEDENCEを有効にすると、!はNOTと同じ優先順位を持ちます。