算術演算子は、1つまたは2つのパラメータに対して、反転、加算、減算、乗算、除算などの操作を行います。一部の算術演算子は、日付時刻や時間間隔の計算にも使用できます。
算術演算子のパラメータは、数値データ型、またはデータベースが直接数値データ型に変換できるデータ型に解釈されなければなりません。
単項算術演算子が返すデータ型は、パラメータのデータ型と同じです。二項算術演算子の場合、OceanBaseデータベースは式内で数値的に優先順位が最も高いパラメータを特定し、残りのパラメータをそのパラメータのデータ型に変換します。
OceanBaseデータベースの現在のバージョンでサポートされている算術演算子の詳細は、次の表のとおりです。
演算子 |
説明 |
|---|---|
| +、- | 正、負を表すとき、これらは一元演算子です。 |
| +、- | 加算、減算を表すとき、これらは二項演算子です。 |
| *、/ | 二項演算子で、乗算と除算を表します。 |
注意
算術式では、連続する2つのマイナス記号(--)を使用して二重反転や負の値の減算を表すことはできません。これは、文字列「--」がSQL文でコメントを指定するために使用されるためです。連続するマイナス記号は、スペースまたは括弧で区切ることができます。SQL文のコメントに関する詳細は、コメントを参照してください。
例1:演算子+、-をそれぞれ正符号、負符号として使用したSQLクエリ。
SELECT * FROM order_items WHERE quantity = -1 ORDER BY order_id, line_item_id, product_id;
SELECT * FROM employees WHERE -salary < 0 ORDER BY employee_id;
例2:演算子+、-をそれぞれ加算、減算の演算子として使用したSQLクエリ。
SELECT hire_date FROM employees WHERE SYSDATE - hire_date > 365 ORDER BY hire_date;
例3:演算子*、/をそれぞれ乗算、除算の演算子として使用したSQLクエリ。
UPDATE employees SET salary = salary * 1.1;
UPDATE employees SET salary = salary / 2;