メインコンテンツへスキップ
以下の関数は、任意の数値型の引数に対して論理演算を行います。 戻り値は UInt8 型の 0 または 1 で、場合によっては NULL になります。 引数としての 0 は false、0 以外の値は true と見なされます。

and

導入バージョン: v1.1.0 2 つ以上の値の論理積を計算します。 設定 short_circuit_function_evaluation では、短絡評価を使用するかどうかを制御します。 有効にすると、val_i(val_1 AND val_2 AND ... AND val_{i-1})true の場合にのみ評価されます。 たとえば、短絡評価を使用すると、クエリ SELECT and(number = 2, intDiv(1, number)) FROM numbers(5) の実行時に、0 による除算の例外は発生しません。 引数としての 0 は false と見なされ、0 以外の値は true と見なされます。 構文
and(val1, val2[, ...])
引数 戻り値 以下を返します。
  • 少なくとも1つの引数が false と評価される場合は 0
  • false と評価される引数がなく、少なくとも1つの引数が NULL の場合は NULL
  • それ以外の場合は 1 Nullable(UInt8)
基本的な使い方
Query
SELECT and(0, 1, -2);
Response
0
NULL を使用する場合
Query
SELECT and(NULL, 1, 10, -2);
Response
ᴺᵁᴸᴸ

not

導入バージョン: v1.1.0 値の論理否定を返します。 引数に 0 を指定した場合は false、0 以外の値は true と見なされます。 構文
not(val)
引数 戻り値 次を返します。
  • 1valfalse と評価される場合
  • 0valtrue と評価される場合
  • NULLvalNULL の場合。 Nullable(UInt8)
基本的な使い方
Query
SELECT NOT(1);
Response
0

or

導入バージョン: v1.1.0 2 つ以上の値の論理和を計算します。 short_circuit_function_evaluation 設定は、短絡評価を使用するかどうかを制御します。 有効な場合、val_i((NOT val_1) AND (NOT val_2) AND ... AND (NOT val_{i-1}))true の場合にのみ評価されます。 たとえば、短絡評価を使用すると、クエリ SELECT or(number = 0, intDiv(1, number) != 0) FROM numbers(5) の実行時に、ゼロ除算例外はスローされません。 引数の 0 は false と見なされ、0 以外の値は true と見なされます。 構文
or(val1, val2[, ...])
引数 戻り値 返される値:
  • 少なくとも1つの引数が true と評価される場合は 1
  • すべての引数が false と評価される場合は 0
  • すべての引数が false と評価され、かつ少なくとも1つの引数が NULL の場合は NULL Nullable(UInt8)
基本的な使い方
Query
SELECT or(1, 0, 0, 2, NULL);
Response
1
NULLを含む場合
Query
SELECT or(0, NULL);
Response
ᴺᵁᴸᴸ

xor

導入バージョン: v1.1.0 2 つ以上の値の論理排他的論理和を計算します。 入力値が 3 つ以上ある場合、この関数はまず最初の 2 つの値に xor を適用し、その結果に 3 つ目の値を xor し、以降も同様に続けます。 引数としての 0 は false と見なされ、0 以外の値は true と見なされます。 構文
xor(val1, val2[, ...])
引数 戻り値 返される値:
  • 1、2 つの値の場合: 一方の値が false と評価され、もう一方がそうでない場合
  • 0、2 つの値の場合: 両方の値が false と評価されるか、両方とも true の場合
  • 少なくとも 1 つの入力が NULL の場合は NULLNullable(UInt8)
基本的な使い方
Query
SELECT xor(0, 1, 1);
Response
0
最終更新日 2026年6月10日