式演算子
最終更新日時: 2026/10/27式の構築 の場合、演算子を使用して値を計算し、入力を比較し、条件を結合します。
移動タスク式には、次のセマンティクスが適用されます。クラウドデータ プラットフォームで実行される式は、そのプラットフォームのセマンティクスを使用します。演算子の周りにスペースを入れ、テキストと日付の定数を引用符で囲みます。例: $HIRE_DATE < '2026-10-08'。
算術演算子
| 演算子 | 意味 | 例と結果 |
|---|---|---|
+
|
2 つのオペランドを加算します。 | 2 + 3 は 5 を返します。 |
-
|
左オペランドから右オペランドを減算します。先頭のマイナスは値を負にします。 | 5 - 2 は 3 を返します。 |
*
|
オペランドを乗算します。 | 3 * 4 は 12 を返します。 |
/
|
左オペランドを右オペランドで除算します。整数除算はゼロ方向に切り捨てられます。実数オペランドは小数結果を保持します。ゼロ除算は NULL を返します。 | 7 / 2 は 3 を返し、7.0 / 2 は 3.5 を返します。 |
%
|
両方のオペランドを整数に変換し、除算の剰余を返します。これはパーセンテージ計算ではありません。 | 7 % 3 は 1 を返します。 |
比較演算子
比較は、真の場合は 1 を、偽の場合は 0 を返します。NULL との通常の比較は NULL を返します。欠損値をテストするには、IS または IS NOT を使用します。
| 演算子 | 意味 | 例と結果 |
|---|---|---|
=
|
等価性をテストします。 | 3 = 3 は 1 を返します。 |
!=
|
不等性をテストします。 | 3 != 4 は 1 を返します。 |
<>
|
代替の不等号演算子。 | 3 <> 3 は 0 を返します。 |
<
|
左の値が小さいかどうかをテストします。 | 2 < 3 は 1 を返します。 |
<=
|
以下であるかをテストします。 | 3 <= 3 は 1 を返します。 |
>
|
左の値が大きいかどうかをテストします。 | 4 > 3 は 1 を返します。 |
>=
|
以上であるかをテストします。 | 3 >= 3 は 1 を返します。 |
IS
|
NULL を返さずに等価性を確認します。2 つの NULL 値は等しく、NULL 値と非 NULL 値は等しくありません。 | NULL IS NULL は 1 を返します。 |
IS NOT
|
NULL を返さずに不等性をテストします。 | NULL IS NOT 3 は 1 を返します。 |
論理演算子と条件演算子
| 演算子 | 意味 | 例と結果 |
|---|---|---|
AND
|
両方の条件が真である場合に真。偽のオペランドがあると、他のオペランドが NULL であっても、結果は偽になります。 | (3 > 2) AND (4 < 3) は 0 を返します。 |
OR
|
いずれかの条件が真である場合に真。真のオペランドは、他のオペランドが NULL であっても結果を真にします。 | (3 > 2) OR (4 < 3) は 1 を返します。 |
IN
|
括弧で囲まれたリストに含まれるかどうかをテストします。一致する値がなく、リストに NULL が含まれている場合、NULL を返します。空のリストは 0 を返します。NULL の左オペランドの場合も同様です。 | 2 IN (1, 2, 3) は 1 を返します。4 IN (1, NULL) は NULL を返します。 |
CASE
|
最初の一致するブランチを返します。基準値がある場合は、各 WHEN 値と比較します。基準値がない場合は、各 WHEN 条件をテストします。一致するブランチがない場合、ELSE を使用します。または、ELSE がない場合、NULL を使用します。 | CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END は 'High' を返します。CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END は 'Two' を返します。 |
文字列とパターン演算子
| 演算子 | 意味 | 例と結果 |
|---|---|---|
||
|
テキスト値を連結します。NULL オペランドは NULL を生成します。 | 'John' || ' ' || 'Smith' は 'John Smith' を返します。 |
LIKE
|
左の文字列と右のパターンを比較します。% はゼロ個以上の文字に一致し、_ は 1 つの文字に一致します。デフォルトでは ASCII 文字の大文字/小文字を無視しますが、非 ASCII 文字のケースの違いは無視しません。ESCAPE はリテラル ワイルドカードの 1 文字を指定します。 |
'Alice' LIKE 'A%' は 1 を返します。'10%' LIKE '10!%' ESCAPE '!' 1 を返します。 |
GLOB
|
Unix スタイルのパターンを使用した、大文字と小文字を区別するマッチング。* は 0 個以上の文字に一致します。? は 1 つに一致し、角かっこは文字セットを定義します。 |
'file.csv' GLOB '*.csv' は 1 を返し、'File.CSV' GLOB '*.csv' は 0 を返します。 |
MATCH
|
アプリケーション定義の match() 関数に委任します。利用可能な実装が必要です。デフォルトの SQLite 実装ではエラーが発生します。 |
'Quarterly sales' MATCH 'sales' は構文を示しています。結果はアプリケーションの実装に依存します。 |
REGEXP
|
アプリケーション定義の regexp() 関数に委任します。SQLite はこの関数をデフォルトでは提供していません。 |
'ABC123' REGEXP '^[A-Z]+[0-9]+$' は構文を示しています。実装がない場合、評価は失敗します。 |
ビット演算子
これらの二項演算子は、論理条件ではなく、整数のビットに対して作用します。| は、エディターが論理カテゴリに分類している場合でも、ビット単位の OR を意味します。
| 演算子 | 意味 | 例と結果 |
|---|---|---|
<<
|
左の整数を、右オペランドのビット数だけ左にシフトします。 | 3 << 1 は 6 を返します。 |
>>
|
左の整数を、右オペランドのビット数だけ右にシフトします。 | 8 >> 1 は 4 を返します。 |
&
|
ビット単位の AND: 両方のオペランドでそのビットがセットされている場合にのみ、結果のビットをセットします。 | 6 & 3 は 2 を返します。 |
|
|
ビット単位の OR: いずれかのオペランドでそのビットがセットされている場合に、結果のビットをセットします。 | 6 | 3 は 7 を返します。 |
評価順序と欠損値
上記の二項演算子では、優先順位は高い順に、連結、乗算・除算・剰余、加算・減算、ビット演算、順序比較、等価比較とパターン テスト、AND、OR の順です。同じレベルの演算子は左から右へ評価されます。括弧はこの順序を上書きします: (2 + 3) * 4 は 20 を返します。一方 2 + 3 * 4 は 14 を返します。
ほとんどの演算子は、オペランドが NULL の場合に NULL を返します。上記の例外には IS、IS NOT、および特定の AND、OR、および IN のケースが含まれます。欠損値に置換が必要な場合、$COALESCE を使用します。「式関数」を参照してください。