Cloud Software Group, Inc. EBX®
ドキュメント > 開発者ガイド > EBX® のSQL
ナビゲーションモードドキュメント > 開発者ガイド > EBX® の SQL

比較演算子

次の表に、EBX® でサポートされているすべての SQL 算術演算子と関数、およびそれらの標準 SQL 構文を示します。一部の関数にはオプションのパラメーターがある場合があります。それらは角括弧で囲まれています。

演算子の構文

説明と例

value1 = value2

等しい

SELECT 1 = 0 :  false

SELECT 4 = 4 :  true

value1 <> value2

等しくない

SELECT 1 <> 0 :  true

SELECT 4 <> 4 :  false

value1 > value2

より大きい

SELECT 1 > 0 :  true

SELECT 4 > 4 :  false

value1 >= value2

以上

SELECT 1 >= 0 :  true

SELECT 4 >= 4 :  true

value1 < value2

より小さい

SELECT 1 < 0 :  false

SELECT 4 < 4 :  false

value1 <= value2

以下

SELECT 1 <= 0 :  false

SELECT 4 <= 4 :  true

value IS NULL

値が null かどうか

SELECT 1 IS NULL :  false

SELECT NULL IS NULL :  true

value IS NOT NULL

値が null でないかどうか

SELECT 1 IS NOT NULL :  true

SELECT NULL IS NOT NULL :  false

value1 IS DISTINCT FROM value2

2 つの値が等しくないかどうか (null 値を同じものとして扱う)

SELECT 1 IS DISTINCT FROM 1 :  false

SELECT 1 IS DISTINCT FROM 4 :  true

SELECT 1 IS DISTINCT FROM NULL :  true

SELECT NULL IS DISTINCT FROM NULL :  false

value1 IS NOT DISTINCT FROM value2

2 つの値が等しいかどうか (null 値を同じものとして扱う)

SELECT 1 IS NOT DISTINCT FROM 1 :  true

SELECT 1 IS NOT DISTINCT FROM 4 :  false

SELECT 1 IS NOT DISTINCT FROM NULL :  false

SELECT NULL IS NOT DISTINCT FROM NULL :  true

value1 BETWEEN value2 AND value3

value1 が value2 以上、かつ value3 以下かどうか

SELECT 4 BETWEEN 3 AND 10 :  true

SELECT 1 BETWEEN 3 AND 10 :  false

value1 NOT BETWEEN value2 AND value3

value1 が value2 以上、かつ value3 以下かどうか

SELECT 4 NOT BETWEEN 3 AND 10 :  false

SELECT 1 NOT BETWEEN 3 AND 10 :  true

string1 LIKE string2

string1 がパターン string2 と一致するかどうか。ワイルドカード '%' は、0 個、1 個、または複数の文字を表します。ワイルドカード '_' は 単一文字を表します。エスケープ文字を定義するには、'ESCAPE' を使用します (ワイルドカードをエスケープする場合)。string1 がシーケンスで始まるかどうかを確認するには、パターン 'sequence%' を使用します (同様に、シーケンスで終わる場合は '%sequence' を使用)。照合では大文字と小文字が区別されます。大文字と小文字を区別しない照合を実行するには、string1 と pattern で UPPER (または LOWER) を使用します。

SELECT name FROM employee WHERE name LIKE 'S%' :  Smith, Saunders

SELECT name FROM employee WHERE UPPER(name) LIKE 'SM%' :  Smith

SELECT name FROM employee WHERE name LIKE '_m%' :  Smith

SELECT 'abcd%' LIKE '%!%' ESCAPE '!' :  true

string1 NOT LIKE string2

string1 がパターン string2 と一致しないかどうか。ワイルドカード '%' は、0 個、1 個、または複数の文字を表します。ワイルドカード '_' は単一文字を表します。エスケープ文字を定義するには、'ESCAPE' を使用します (ワイルドカードをエスケープする場合)。string1 がシーケンスで始まらないかどうかを確認するには、パターン 'sequence%' を使用します (同様に、シーケンスで終わらない場合は '%sequence' を使用)。照合では大文字と小文字が区別されます。大文字と小文字を区別しない照合を実行するには、string1 と pattern で UPPER (または LOWER) を使用します。

SELECT name FROM employee WHERE name NOT LIKE 'S%' :  Hamilton

SELECT name FROM employee WHERE UPPER(name) NOT LIKE 'SM%' :  Hamilton, Saunders

SELECT name FROM employee WHERE name NOT LIKE '_m%' :  Hamilton, Saunders

SELECT 'abcd%' NOT LIKE '%!_' ESCAPE '!' :  true

value IN (value [, value]*)

値がリスト内の値と等しいかどうか

SELECT firstname FROM employee WHERE name IN ('Smith', 'Hamilton') :  John, Maria

value NOT IN (value [, value]*)

値がリスト内のすべての値と等しくないかどうか

SELECT firstname FROM employee WHERE name NOT IN ('Smith', 'Hamilton') :  Jennifer

value IN (sub-query)

値がサブクエリによって返される行と等しいかどうか

SELECT e.firstname FROM employee e WHERE e.department.id IN (SELECT d.id FROM department d WHERE d.name='IT') :  John

ドキュメント > 開発者ガイド> EBX® の SQL