比較関数
比較ルール
以下の比較関数は、型 UInt8 の 0 または 1 を返します。同じグループ内の値同士のみが
比較可能です(例: UInt16 と UInt64)。グループをまたいだ比較(例: UInt16 と DateTime)はできません。
数値と文字列の比較、文字列と日付、日付と時刻の比較は可能です。
タプルおよび配列の場合、比較は辞書式(レキシコグラフィック)になり、左側と右側のタプル/配列の各対応要素を順に比較します。
比較可能な型は次のとおりです:
- 数値および小数
- 文字列および固定長文字列
- 日付
- 日付と時刻
- タプル(辞書式比較)
- 配列(辞書式比較)
文字列はバイト単位で比較されます。一方の文字列に UTF-8 エンコードされたマルチバイト文字が含まれている場合、予期しない結果になる可能性があります。 文字列 S1 が別の文字列 S2 を接頭辞として持つ場合、S1 は S2 より長いと見なされます。
equals
導入バージョン: v1.1
2つの値を比較し、等しいかどうかを判定します。
構文
引数
返り値
a が b と等しい場合は 1、それ以外の場合は 0 を返します(UInt8)。
例
使用例
globalIn
導入バージョン: v1.1
in と同様ですが、分散クエリではグローバルな Set 配布を行います。Set はすべてのリモートサーバーに送信されます。
構文
引数
x— 確認する値。 -set— 値の集合。
戻り値
x が set に含まれている場合は 1、そうでない場合は 0 を返します。UInt8
例
基本的な使用例
globalInIgnoreSet
導入バージョン: v1.1
in と同様ですが、分散クエリにおいて Set をグローバルに配布します。Set はすべてのリモートサーバーに送信されます。
これは、Set を作成することなく型解析に使用される IgnoreSet のバリアントです。
構文
引数
x— 判定対象の値。 -set— 値の Set。
返り値
x が set に含まれている場合は 1、そうでない場合は 0 を返します。 UInt8
例
基本的な使用方法
globalNotIn
導入バージョン: v1.1
notIn と同様ですが、分散クエリにおいてグローバルな Set 分散を使用します。Set はすべてのリモートサーバーに送信されます。
構文
引数
x— 判定対象の値。 -set— 値の集合。
戻り値
x が set に含まれていない場合は 1 を返し、含まれている場合は 0 を返します。 UInt8
例
基本的な使い方
globalNotInIgnoreSet
導入バージョン: v1.1
notIn と同様ですが、分散クエリでグローバルな Set 配布を使用します。Set はすべてのリモートサーバーに送信されます。
これは、Set を作成することなく型解析を行うために使用される IgnoreSet のバリアントです。
構文
引数
x— チェックする値。 -set— 値の集合。
戻り値
x が set に含まれていなければ 1 を、そうでなければ 0 を返します。UInt8 型
例
基本的な使用方法
globalNotNullIn
導入バージョン: v1.1
notNullIn と同様ですが、分散クエリにおいてグローバル Set の分散を使用します。Set はすべてのリモートサーバーに送信されます。
構文
引数
x— チェックする値。 -set— 値の集合。
戻り値
x が set に含まれていない場合は 1、そうでない場合は 0 を返します。UInt8
例
基本的な使用方法
globalNotNullInIgnoreSet
導入バージョン: v1.1
notNullIn と同様ですが、分散クエリにおいてグローバルな Set 分散を使用します。Set はすべてのリモートサーバーに送信されます。
これは、Set を作成せずに型解析を行うために使用される IgnoreSet 版です。
構文
引数
x— チェックする値。 -set— 値の集合。
戻り値
x が set に含まれていない場合は 1、それ以外の場合は 0 を返します。UInt8
例
基本的な使い方
globalNullIn
導入: v1.1
nullIn と同様ですが、分散クエリにおいてグローバルな Set 分散を使用します。Set はすべてのリモートサーバーに送信されます。
構文
引数
x— 判定する値。 -set— 値の集合。
戻り値
x が set に含まれている場合は 1、それ以外の場合は 0 を返します。UInt8
例
基本的な使用方法
globalNullInIgnoreSet
導入バージョン: v1.1
nullIn と同じですが、分散クエリにおいてグローバルな Set 分散を使用します。Set はすべてのリモートサーバーに送信されます。
これは、型解析用に Set を作成せずに使用される IgnoreSet のバリアントです。
構文
引数
x— 判定する値。 -set— 値の集合。
返り値
x が set に含まれている場合は 1 を返し、そうでない場合は 0 を返します。 UInt8
例
基本的な使用例
greater
導入バージョン: v1.1
2つの値を比較して、「より大きい」関係かどうかを判定します。
構文
引数
戻り値
a が b より大きい場合は 1 を返し、それ以外の場合は 0 を返します。戻り値の型は UInt8 です。
例
使用例
greaterOrEquals
導入バージョン: v1.1
2 つの値を比較して、「以上」の関係にあるかどうかを判定します。
構文
引数
戻り値
a が b 以上のときは 1、それ以外の場合は 0 を返します。戻り値の型は UInt8 です。
例
使用例
in
導入: v1.1
左オペランドが右オペランドの集合に含まれているかどうかを判定します。含まれていれば 1 を、そうでなければ 0 を返します。左オペランド内の NULL 値はスキップされます(Set に含まれないものとして扱われます)。
構文
引数
x— チェックする値。set— 値の集合。
返り値
x が set 内に含まれている場合は 1 を、そうでない場合は 0 を返します。 UInt8
例
基本的な使い方
inIgnoreSet
導入バージョン: v1.1
左オペランドが右オペランドの Set の要素かどうかをチェックします。要素であれば 1 を、そうでなければ 0 を返します。左オペランド内の NULL 値はスキップされ(Set に含まれないものとして扱われ)ます。 これは、Set を作成せずに型解析のために使用される IgnoreSet のバリアントです。
構文
引数
x— チェックする値。 -set— 値の集合を表す Set。
戻り値
x が Set に含まれていれば 1、含まれていなければ 0 を返します。 UInt8
例
基本的な使用例
isDistinctFrom
導入バージョン: v25.11
2 つの値に対して NULL セーフな「等値でない」比較を行います。
一方の値が NULL で他方が NULL ではない場合を含め、値が異なる(等しくない)場合は true を返します。
値が等しい場合、または両方が NULL の場合は false を返します。
構文
引数
戻り値
2つの値が異なる場合に true を返し、NULL を比較可能なものとして扱います。
x != yの場合にtrueを返します。xとyの一方だけが NULL の場合にtrueを返します。x = yの場合、またはxとyの両方が NULL の場合はfalseを返します。Bool
例
数値と NULL を用いた基本的な使用例
isNotDistinctFrom
導入バージョン: v25.10
2 つの値の間で、NULL セーフな「等価」比較を実行します。
両方の値が等しい場合、両方が NULL の場合も含めて true を返します。
値が異なる場合、または一方のみが NULL の場合は false を返します。
構文
引数
戻り値
2 つの値が等しい場合に true を返します。NULL も比較可能な値として扱います。
- x = y の場合は
trueを返します。- x と y が両方とも NULL の場合は
trueを返します。 - x != y の場合、または x と y の一方だけが NULL の場合は
falseを返します。Bool
- x と y が両方とも NULL の場合は
例
数値と NULL を使った基本的な使用例
less
導入バージョン: v1.1
2 つの値を比較し、一方が他方より小さいかどうかを判定します。
構文
引数
戻り値
a が b より小さい場合は 1、それ以外の場合は 0 を返します(UInt8)。
例
使用例
lessOrEquals
導入バージョン: v1.1
2 つの値を比較し、「以下(less-than-or-equal-to)」の関係かどうかを判定します。
構文
引数
戻り値
a が b 以下の場合は 1 を返し、それ以外の場合は 0 を返します。戻り値の型は UInt8 です。
例
使用例
notEquals
導入バージョン: v1.1
2 つの値が等しくないかどうかを判定します。
構文
引数
戻り値
a が b と等しくない場合は 1 を返し、それ以外の場合は 0 を返します(UInt8)。
例
使用例
notIn
導入: v1.1
左オペランドが右オペランドの集合に属していないかどうかを判定します。集合に含まれていなければ 1 を返し、含まれていれば 0 を返します。左オペランド内の NULL 値はスキップされます。
構文
引数
x— チェックする値。set— 値の Set。
戻り値
x が set に含まれていない場合は 1、含まれている場合は 0 を返します。UInt8
例
基本的な使用例
notInIgnoreSet
導入バージョン: v1.1
左オペランドが右オペランドの Set に含まれて「いない」かどうかを判定します。Set に含まれていなければ 1 を、そうでなければ 0 を返します。左オペランド内の NULL 値は無視されます。 これは、Set を作成せずに型解析を行うために使用される IgnoreSet バリアントです。
構文
引数
x— チェックする値。 -set— 値の集合。
戻り値
x が set に含まれていない場合は 1、含まれている場合は 0 を返します。 UInt8
例
基本的な使い方
notNullIn
導入バージョン: v1.1
左オペランドが右オペランドの Set の要素に含まれて「いない」ことをチェックします。notIn と異なり、NULL 値はスキップされません。NULL は Set の要素と比較され、NULL = NULL は true と評価されます。
構文
引数
x— 判定対象の値。set— 値の集合。
返り値
x が set に含まれていなければ 1、含まれていれば 0 を返します。UInt8
例
基本的な使い方
notNullInIgnoreSet
導入バージョン: v1.1
左オペランドが右オペランドの集合に含まれていないことをチェックします。notIn と異なり、NULL 値はスキップされません。NULL は集合要素と比較され、NULL = NULL は true と評価されます。
これは、Set を作成せずに型解析を行うために使用される IgnoreSet のバリアントです。
構文
引数
x— チェックする値。 -set— 値の Set。
戻り値
x が Set に含まれていなければ 1、含まれていれば 0 を返します。UInt8
例
基本的な使用例
nullIn
導入バージョン: v1.1
左オペランドが右オペランドの Set の要素であるかどうかを判定します。in と異なり、NULL 値はスキップされません。NULL は Set の要素と比較され、NULL = NULL は true と評価されます。
構文
引数
x— 判定する値。 -set— 値の集合。
返り値
x が set に含まれている場合は 1、含まれていない場合は 0 を返します。UInt8
例
基本的な使用方法
nullInIgnoreSet
導入バージョン: v1.1
左オペランドが右オペランドの Set のメンバーかどうかをチェックします。in と異なり、NULL 値はスキップされません。NULL は Set の要素と比較され、NULL = NULL は true と評価されます。
これは、Set を作成せずに型解析を行うために使用される IgnoreSet のバリアントです。
構文
引数
x— チェック対象の値。 -set— 値の Set。
戻り値
x が set に含まれている場合は 1、そうでない場合は 0 を返します。UInt8
例
基本的な使用例