算術演算子は、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;